This commit is contained in:
MohammadTaha Basiri 2022-12-09 22:18:29 +03:30
parent 2025e689d9
commit cbfebd0981
19 changed files with 92 additions and 46 deletions

View File

@ -0,0 +1,31 @@
//
// Generated file. Do not edit.
//
// ignore_for_file: directives_ordering
// ignore_for_file: lines_longer_than_80_chars
// ignore_for_file: depend_on_referenced_packages
import 'package:assets_audio_player_web/web/assets_audio_player_web.dart';
import 'package:firebase_core_web/firebase_core_web.dart';
import 'package:firebase_messaging_web/firebase_messaging_web.dart';
import 'package:flutter_secure_storage_web/flutter_secure_storage_web.dart';
import 'package:image_picker_for_web/image_picker_for_web.dart';
import 'package:record_web/record_web.dart';
import 'package:url_launcher_web/url_launcher_web.dart';
import 'package:wakelock_web/wakelock_web.dart';
import 'package:flutter_web_plugins/flutter_web_plugins.dart';
// ignore: public_member_api_docs
void registerPlugins(Registrar registrar) {
AssetsAudioPlayerWebPlugin.registerWith(registrar);
FirebaseCoreWeb.registerWith(registrar);
FirebaseMessagingWeb.registerWith(registrar);
FlutterSecureStorageWeb.registerWith(registrar);
ImagePickerPlugin.registerWith(registrar);
RecordPluginWeb.registerWith(registrar);
UrlLauncherPlugin.registerWith(registrar);
WakelockWeb.registerWith(registrar);
registrar.registerMessageHandler();
}

View File

@ -10,7 +10,9 @@ class ServerDataProvider {
}
static int labelToTypeId(String label) {
if (label.contains('پشتیبانی اپلیکیشن')) {
if (label.contains('می‌خواهم بیشتر بدانم')) {
return 9;
} else if (label.contains('پشتیبانی اپلیکیشن')) {
return 8;
} else if (label.contains('پشتیبانی محتوا')) {
return 7;

View File

@ -14,12 +14,12 @@ class StorageService {
required String subDirectory,
required String name,
}) async {
final dir = io.Directory(appDocsDir + '/$subDirectory');
final dir = io.Directory('$appDocsDir/$subDirectory');
if (!await dir.exists()) {
await dir.create(recursive: true);
}
final file = await io.File(
appDocsDir + '/$subDirectory/$name',
'$appDocsDir/$subDirectory/$name',
).create(recursive: true);
await file.writeAsBytes(bytes);
}

View File

@ -91,24 +91,24 @@ class DateTimeUtils {
double interval = seconds / 31536000;
if (interval > 1) {
return interval.floor().toString() + " سال پیش";
return "${interval.floor()} سال پیش";
}
interval = seconds / 2592000;
if (interval > 1) {
return interval.floor().toString() + " ماه پیش";
return "${interval.floor()} ماه پیش";
}
interval = seconds / 86400;
if (interval > 1) {
if (interval.floor() == 1) return 'دیروز';
return interval.floor().toString() + " روز پیش";
return "${interval.floor()} روز پیش";
}
interval = seconds / 3600;
if (interval > 1) {
return interval.floor().toString() + " ساعت پیش";
return "${interval.floor()} ساعت پیش";
}
interval = seconds / 60;
if (interval > 1) {
return interval.floor().toString() + " دقیقه پیش";
return "${interval.floor()} دقیقه پیش";
}
return 'هم اکنون';
// return seconds.floor().toString() + " ثانیه پیش";

View File

@ -60,7 +60,7 @@ class AuthenticationState extends CoreProvier {
Future<void> sendOtpToken() async {
final service = RequestService(
RequestHelper.otp + '?username=$username',
'${RequestHelper.otp}?username=$username',
useAutherization: false,
);
await service.httpGet();

View File

@ -1,5 +1,6 @@
import 'package:didvan/views/authentication/widgets/authentication_app_bar.dart';
import 'package:didvan/views/widgets/logos/didvan_horizontal_logo.dart';
import 'package:didvan/views/widgets/logos/didvan_vertical_logo.dart';
import 'package:flutter/material.dart';
class AuthenticationLayout extends StatelessWidget {
@ -39,9 +40,7 @@ class AuthenticationLayout extends StatelessWidget {
bottom: 40,
),
sliver: const SliverToBoxAdapter(
child: DidvanVerticalLogo(
height: 200,
),
child: DidvanHorizontalLogo(),
),
),
SliverPadding(

View File

@ -23,7 +23,7 @@ class Comments extends StatefulWidget {
}) : super(key: key);
@override
_CommentsState createState() => _CommentsState();
State<Comments> createState() => _CommentsState();
}
class _CommentsState extends State<Comments> {

View File

@ -72,7 +72,7 @@ class _StatisticDetailsState extends State<StatisticDetails> {
),
const SizedBox(height: 20),
Padding(
padding: const EdgeInsets.symmetric(horizontal: 16),
padding: const EdgeInsets.symmetric(horizontal: 60),
child: SizedBox(
width: double.infinity,
height: 120,
@ -89,13 +89,10 @@ class _StatisticDetailsState extends State<StatisticDetails> {
Theme.of(context).colorScheme.navigation,
getTooltipItems: (data) => [
LineTooltipItem(
state.datas[data.first.spotIndex].tEn! +
'\n' +
intl.NumberFormat("###,000", "en_US")
.format(
data.first.bar
.spots[data.first.spotIndex].y,
),
'${state.datas[data.first.spotIndex].tEn!}\n${intl.NumberFormat("###,000", "en_US").format(
data.first.bar
.spots[data.first.spotIndex].y,
)}',
Theme.of(context)
.textTheme
.caption!

View File

@ -97,7 +97,7 @@ class StatisticOverview extends StatelessWidget {
if (_hasDiff) const SizedBox(width: 4),
if (_hasDiff)
DidvanText(
statistic.data.dp.toString() + '%',
'${statistic.data.dp}%',
style: Theme.of(context).textTheme.caption,
color: _diffColor(context),
),

View File

@ -16,12 +16,10 @@ import 'package:didvan/views/home/widgets/overview/podcast.dart';
import 'package:didvan/views/home/widgets/overview/video.dart';
import 'package:didvan/views/home/widgets/search_field.dart';
import 'package:didvan/views/widgets/animated_visibility.dart';
import 'package:didvan/views/widgets/didvan/checkbox.dart';
import 'package:didvan/views/widgets/didvan/divider.dart';
import 'package:didvan/views/widgets/didvan/icon_button.dart';
import 'package:didvan/views/widgets/didvan/radial_button.dart';
import 'package:didvan/views/widgets/item_title.dart';
import 'package:didvan/views/widgets/logos/didvan_vertical_logo.dart';
import 'package:didvan/views/widgets/state_handlers/empty_result.dart';
import 'package:didvan/views/widgets/state_handlers/sliver_state_handler.dart';
import 'package:flutter/material.dart';

View File

@ -46,8 +46,7 @@ class _StudioDetailsState extends State<StudioDetails> {
(int viewId) => html.IFrameElement()
..allowFullscreen = true
..src = Uri.dataFromString(
'<style>*{padding: 0 ; margin: 0; background: black;}</style>' +
state.studio.iframe!,
'<style>*{padding: 0 ; margin: 0; background: black;}</style>${state.studio.iframe!}',
mimeType: 'text/html',
).toString()
..style.border = 'none',

View File

@ -222,7 +222,7 @@ class AudioPlayerWidget extends StatelessWidget {
),
const SizedBox(height: 24),
DidvanText(
timerValue.toString() + ' دقیقه',
'$timerValue دقیقه',
style: Theme.of(context).textTheme.headline3,
),
const SizedBox(height: 12),

View File

@ -121,14 +121,6 @@ class _CategoriesListState extends State<CategoriesList> {
width: 100,
padding: const EdgeInsets.all(4),
alignment: Alignment.center,
child: FittedBox(
fit: BoxFit.scaleDown,
child: DidvanText(
category.label,
fontWeight: FontWeight.w600,
color: Theme.of(context).colorScheme.focusedBorder,
),
),
decoration: BoxDecoration(
color: widget.selectedCats.length == 1 &&
widget.selectedCats.contains(category) ||
@ -140,6 +132,14 @@ class _CategoriesListState extends State<CategoriesList> {
),
borderRadius: DesignConfig.lowBorderRadius,
),
child: FittedBox(
fit: BoxFit.scaleDown,
child: DidvanText(
category.label,
fontWeight: FontWeight.w600,
color: Theme.of(context).colorScheme.focusedBorder,
),
),
),
);
}

View File

@ -260,6 +260,32 @@ class _FloatingNavigationBarState extends State<FloatingNavigationBar> {
},
icon: DidvanIcons.description_regular,
),
if (widget.isRadar) ...[
const DidvanDivider(),
MenuOption(
title: 'می‌خواهم بیشتر بدانم',
icon: DidvanIcons.info_circle_regular,
onTap: () {
Navigator.of(context).pop();
Navigator.of(context).pushNamed(
Routes.direct,
arguments: {
'radarAttachment': RadarAttachment(
id: widget.item.id,
title: widget.item.title,
description: widget.item.contents.first.text,
timeToRead: widget.item.timeToRead,
image: widget.item.image,
forManagers: widget.item.forManagers,
categories: widget.item.categories,
createdAt: widget.item.createdAt,
),
'type': 'می‌خواهم بیشتر بدانم'
},
);
},
),
],
],
),
title: 'موارد بیشتر',

View File

@ -73,7 +73,7 @@ class NewsOverview extends StatelessWidget {
style: Theme.of(context).textTheme.caption,
),
DidvanText(
' - ' + DateTimeUtils.momentGenerator(news.createdAt),
' - ${DateTimeUtils.momentGenerator(news.createdAt)}',
style: Theme.of(context).textTheme.caption,
),
],

View File

@ -1,7 +1,6 @@
import 'dart:developer';
import 'package:didvan/config/design_config.dart';
import 'package:didvan/config/theme_data.dart';
import 'package:didvan/constants/assets.dart';
import 'package:didvan/main.dart';
import 'package:didvan/providers/media.dart';
@ -14,12 +13,9 @@ import 'package:didvan/services/network/request.dart';
import 'package:didvan/services/storage/storage.dart';
import 'package:didvan/utils/action_sheet.dart';
import 'package:didvan/views/widgets/didvan/button.dart';
import 'package:didvan/views/widgets/logos/didvan_horizontal_logo.dart';
import 'package:didvan/views/widgets/logos/didvan_vertical_logo.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_spinkit/flutter_spinkit.dart';
import 'package:flutter_svg/flutter_svg.dart';
import 'package:provider/provider.dart';
import 'package:universal_html/html.dart' as html;
@ -28,7 +24,7 @@ class Splash extends StatefulWidget {
const Splash({Key? key}) : super(key: key);
@override
_SplashState createState() => _SplashState();
State<Splash> createState() => _SplashState();
}
class _SplashState extends State<Splash> {

View File

@ -25,7 +25,7 @@ class AnimatedVisibility extends StatefulWidget {
}) : super(key: key);
@override
_AnimatedVisibilityState createState() => _AnimatedVisibilityState();
State<AnimatedVisibility> createState() => _AnimatedVisibilityState();
}
class _AnimatedVisibilityState extends State<AnimatedVisibility>

View File

@ -9,7 +9,6 @@ import 'package:didvan/routes/routes.dart';
import 'package:didvan/utils/action_sheet.dart';
import 'package:didvan/utils/date_time.dart';
import 'package:didvan/views/home/direct/widgets/audio_widget.dart';
import 'package:didvan/views/home/widgets/audio/audio_slider.dart';
import 'package:didvan/views/home/widgets/overview/multitype.dart';
import 'package:didvan/views/home/widgets/tag_item.dart';
import 'package:didvan/views/widgets/animated_visibility.dart';
@ -387,7 +386,7 @@ class _DidvanPageViewState extends State<DidvanPageView> {
style: Theme.of(context).textTheme.caption,
),
DidvanText(
' - ' + DateTimeUtils.momentGenerator(item.createdAt),
' - ${DateTimeUtils.momentGenerator(item.createdAt)}',
style: Theme.of(context).textTheme.caption,
),
],
@ -400,7 +399,7 @@ class _DidvanPageViewState extends State<DidvanPageView> {
style: Theme.of(context).textTheme.caption,
),
DidvanText(
' - ' + DateTimeUtils.momentGenerator(item.createdAt),
' - ${DateTimeUtils.momentGenerator(item.createdAt)}',
style: Theme.of(context).textTheme.caption,
),
],

View File

@ -3,7 +3,6 @@ import 'package:didvan/models/enums.dart';
import 'package:didvan/providers/core.dart';
import 'package:didvan/views/widgets/state_handlers/empty_connection.dart';
import 'package:flutter/material.dart';
import 'package:flutter_spinkit/flutter_spinkit.dart';
class StateHandler<T extends CoreProvier> extends StatelessWidget {
final T state;