bug fix
This commit is contained in:
parent
2025e689d9
commit
cbfebd0981
|
|
@ -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();
|
||||
}
|
||||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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() + " ثانیه پیش";
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
|
|
|
|||
|
|
@ -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(
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ class Comments extends StatefulWidget {
|
|||
}) : super(key: key);
|
||||
|
||||
@override
|
||||
_CommentsState createState() => _CommentsState();
|
||||
State<Comments> createState() => _CommentsState();
|
||||
}
|
||||
|
||||
class _CommentsState extends State<Comments> {
|
||||
|
|
|
|||
|
|
@ -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!
|
||||
|
|
|
|||
|
|
@ -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),
|
||||
),
|
||||
|
|
|
|||
|
|
@ -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';
|
||||
|
|
|
|||
|
|
@ -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',
|
||||
|
|
|
|||
|
|
@ -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),
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
),
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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: 'موارد بیشتر',
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
),
|
||||
],
|
||||
|
|
|
|||
|
|
@ -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> {
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@ class AnimatedVisibility extends StatefulWidget {
|
|||
}) : super(key: key);
|
||||
|
||||
@override
|
||||
_AnimatedVisibilityState createState() => _AnimatedVisibilityState();
|
||||
State<AnimatedVisibility> createState() => _AnimatedVisibilityState();
|
||||
}
|
||||
|
||||
class _AnimatedVisibilityState extends State<AnimatedVisibility>
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
),
|
||||
],
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
Loading…
Reference in New Issue