bug fixes | code cleaning
This commit is contained in:
parent
0df576e617
commit
08a2de5751
|
|
@ -1,8 +1,8 @@
|
||||||
import 'package:didvan/config/design_config.dart';
|
import 'package:didvan/config/design_config.dart';
|
||||||
import 'package:didvan/pages/home/home_state.dart';
|
import 'package:didvan/pages/home/home_state.dart';
|
||||||
import 'package:didvan/pages/home/news/news.dart';
|
import 'package:didvan/pages/home/news/news.dart';
|
||||||
import 'package:didvan/pages/home/profile/profile.dart';
|
|
||||||
import 'package:didvan/pages/home/radar/radar.dart';
|
import 'package:didvan/pages/home/radar/radar.dart';
|
||||||
|
import 'package:didvan/pages/home/settings/settings.dart';
|
||||||
import 'package:didvan/pages/home/statistics/statistics.dart';
|
import 'package:didvan/pages/home/statistics/statistics.dart';
|
||||||
import 'package:didvan/pages/home/studio/studio.dart';
|
import 'package:didvan/pages/home/studio/studio.dart';
|
||||||
import 'package:didvan/pages/home/widgets/bnb.dart';
|
import 'package:didvan/pages/home/widgets/bnb.dart';
|
||||||
|
|
@ -22,7 +22,7 @@ class _HomeState extends State<Home> with SingleTickerProviderStateMixin {
|
||||||
@override
|
@override
|
||||||
void initState() {
|
void initState() {
|
||||||
DesignConfig.updateSystemUiOverlayStyle();
|
DesignConfig.updateSystemUiOverlayStyle();
|
||||||
_tabController = TabController(length: 5, vsync: this);
|
_tabController = TabController(length: 5, vsync: this, initialIndex: 2);
|
||||||
_tabController.addListener(() {
|
_tabController.addListener(() {
|
||||||
context.read<HomeState>().currentPageIndex = _tabController.index;
|
context.read<HomeState>().currentPageIndex = _tabController.index;
|
||||||
});
|
});
|
||||||
|
|
@ -40,7 +40,7 @@ class _HomeState extends State<Home> with SingleTickerProviderStateMixin {
|
||||||
Statictics(),
|
Statictics(),
|
||||||
Radar(),
|
Radar(),
|
||||||
Studio(),
|
Studio(),
|
||||||
Profile(),
|
Settings(),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
bottomNavigationBar: Consumer<HomeState>(
|
bottomNavigationBar: Consumer<HomeState>(
|
||||||
|
|
@ -48,6 +48,7 @@ class _HomeState extends State<Home> with SingleTickerProviderStateMixin {
|
||||||
currentTabIndex: state.currentPageIndex,
|
currentTabIndex: state.currentPageIndex,
|
||||||
onTabChanged: (index) {
|
onTabChanged: (index) {
|
||||||
state.currentPageIndex = index;
|
state.currentPageIndex = index;
|
||||||
|
FocusScope.of(context).unfocus();
|
||||||
_tabController.animateTo(index);
|
_tabController.animateTo(index);
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
|
|
|
||||||
|
|
@ -25,7 +25,6 @@ class News extends StatefulWidget {
|
||||||
|
|
||||||
class _NewsState extends State<News> {
|
class _NewsState extends State<News> {
|
||||||
Timer? _timer;
|
Timer? _timer;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void initState() {
|
void initState() {
|
||||||
Future.delayed(Duration.zero, () {
|
Future.delayed(Duration.zero, () {
|
||||||
|
|
@ -48,6 +47,7 @@ class _NewsState extends State<News> {
|
||||||
title: 'اخبار',
|
title: 'اخبار',
|
||||||
onChanged: _onChanged,
|
onChanged: _onChanged,
|
||||||
onFilterButtonPressed: _showFilterBottomSheet,
|
onFilterButtonPressed: _showFilterBottomSheet,
|
||||||
|
isFiltered: state.isFiltering,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
|
|
||||||
|
|
@ -1,12 +1,11 @@
|
||||||
import 'package:didvan/constants/app_icons.dart';
|
|
||||||
import 'package:didvan/models/news_overview.dart';
|
import 'package:didvan/models/news_overview.dart';
|
||||||
import 'package:didvan/pages/home/news/news_state.dart';
|
import 'package:didvan/pages/home/news/news_state.dart';
|
||||||
import 'package:didvan/routes/routes.dart';
|
import 'package:didvan/routes/routes.dart';
|
||||||
|
import 'package:didvan/widgets/bookmark_button.dart';
|
||||||
import 'package:didvan/widgets/didvan/card.dart';
|
import 'package:didvan/widgets/didvan/card.dart';
|
||||||
import 'package:didvan/widgets/didvan/divider.dart';
|
import 'package:didvan/widgets/didvan/divider.dart';
|
||||||
import 'package:didvan/widgets/didvan/icon_button.dart';
|
|
||||||
import 'package:didvan/widgets/didvan/text.dart';
|
import 'package:didvan/widgets/didvan/text.dart';
|
||||||
import 'package:didvan/widgets/skeletun_image.dart';
|
import 'package:didvan/widgets/skeleton_image.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:persian_number_utility/persian_number_utility.dart';
|
import 'package:persian_number_utility/persian_number_utility.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
|
|
@ -20,7 +19,7 @@ class NewsItem extends StatelessWidget {
|
||||||
final state = context.read<NewsState>();
|
final state = context.read<NewsState>();
|
||||||
return DidvanCard(
|
return DidvanCard(
|
||||||
onTap: () => Navigator.of(context).pushNamed(
|
onTap: () => Navigator.of(context).pushNamed(
|
||||||
Routes.radarDetails,
|
Routes.newsDetails,
|
||||||
arguments: {
|
arguments: {
|
||||||
'state': state,
|
'state': state,
|
||||||
'id': news.id,
|
'id': news.id,
|
||||||
|
|
@ -61,12 +60,10 @@ class NewsItem extends StatelessWidget {
|
||||||
'${news.reference} | ${DateTime.parse(news.createdAt).toPersianDateStr()}',
|
'${news.reference} | ${DateTime.parse(news.createdAt).toPersianDateStr()}',
|
||||||
style: Theme.of(context).textTheme.overline,
|
style: Theme.of(context).textTheme.overline,
|
||||||
),
|
),
|
||||||
DidvanIconButton(
|
BookmarkButton(
|
||||||
icon: news.marked
|
value: news.marked,
|
||||||
? DidvanIcons.bookmark_solid
|
onMark: () => state.markNews(news.id),
|
||||||
: DidvanIcons.bookmark_regular,
|
onUnmark: () => state.unMarkNews(news.id),
|
||||||
gestureSize: 32,
|
|
||||||
onPressed: () => state.markNews(news.id),
|
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
|
|
|
||||||
|
|
@ -8,11 +8,14 @@ import 'package:didvan/providers/user_provider.dart';
|
||||||
import 'package:didvan/routes/routes.dart';
|
import 'package:didvan/routes/routes.dart';
|
||||||
import 'package:didvan/services/app_initalizer.dart';
|
import 'package:didvan/services/app_initalizer.dart';
|
||||||
import 'package:didvan/services/network/request.dart';
|
import 'package:didvan/services/network/request.dart';
|
||||||
|
import 'package:didvan/services/storage/storage.dart';
|
||||||
import 'package:didvan/utils/action_sheet.dart';
|
import 'package:didvan/utils/action_sheet.dart';
|
||||||
import 'package:didvan/widgets/logos/didvan_horizontal_logo.dart';
|
import 'package:didvan/widgets/logos/didvan_horizontal_logo.dart';
|
||||||
|
import 'package:flutter/foundation.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter/services.dart';
|
import 'package:flutter/services.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
|
import 'package:universal_html/html.dart' as html;
|
||||||
|
|
||||||
class Splash extends StatefulWidget {
|
class Splash extends StatefulWidget {
|
||||||
const Splash({Key? key}) : super(key: key);
|
const Splash({Key? key}) : super(key: key);
|
||||||
|
|
@ -30,31 +33,6 @@ class _SplashState extends State<Splash> {
|
||||||
super.initState();
|
super.initState();
|
||||||
}
|
}
|
||||||
|
|
||||||
Future<void> _initialize() async {
|
|
||||||
ActionSheetUtils.context = navigatorKey.currentContext!;
|
|
||||||
await AppInitializer.setupServices();
|
|
||||||
final ThemeMode themeMode = await AppInitializer.initilizeSettings();
|
|
||||||
context.read<ThemeProvider>().themeMode = themeMode;
|
|
||||||
await Future.delayed(
|
|
||||||
const Duration(milliseconds: 200),
|
|
||||||
() => setState(() {
|
|
||||||
_isGettingThemeData = false;
|
|
||||||
}),
|
|
||||||
);
|
|
||||||
final userProvider = context.read<UserProvider>();
|
|
||||||
final String? token = await userProvider.setAndGetToken();
|
|
||||||
if (token != null) {
|
|
||||||
log(token);
|
|
||||||
RequestService.token = token;
|
|
||||||
await userProvider.getUserInfo();
|
|
||||||
await context.read<ServerDataProvider>().getData();
|
|
||||||
}
|
|
||||||
Navigator.of(context).pushReplacementNamed(
|
|
||||||
token == null ? Routes.authenticaion : Routes.home,
|
|
||||||
arguments: token == null ? false : null,
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
if (_isGettingThemeData) {
|
if (_isGettingThemeData) {
|
||||||
|
|
@ -78,4 +56,35 @@ class _SplashState extends State<Splash> {
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Future<void> _initialize() async {
|
||||||
|
ActionSheetUtils.context = navigatorKey.currentContext!;
|
||||||
|
if (kIsWeb) {
|
||||||
|
html.window.onBeforeUnload.listen((event) {
|
||||||
|
StorageService.webStorage
|
||||||
|
.removeWhere((key, value) => key == 'image-cache');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
await AppInitializer.setupServices();
|
||||||
|
final ThemeMode themeMode = await AppInitializer.initilizeSettings();
|
||||||
|
context.read<ThemeProvider>().themeMode = themeMode;
|
||||||
|
await Future.delayed(
|
||||||
|
const Duration(milliseconds: 200),
|
||||||
|
() => setState(() {
|
||||||
|
_isGettingThemeData = false;
|
||||||
|
}),
|
||||||
|
);
|
||||||
|
final userProvider = context.read<UserProvider>();
|
||||||
|
final String? token = await userProvider.setAndGetToken();
|
||||||
|
if (token != null) {
|
||||||
|
log(token);
|
||||||
|
RequestService.token = token;
|
||||||
|
await userProvider.getUserInfo();
|
||||||
|
await context.read<ServerDataProvider>().getData();
|
||||||
|
}
|
||||||
|
Navigator.of(context).pushReplacementNamed(
|
||||||
|
token == null ? Routes.authenticaion : Routes.home,
|
||||||
|
arguments: token == null ? false : null,
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue