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/pages/home/home_state.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/settings/settings.dart';
|
||||
import 'package:didvan/pages/home/statistics/statistics.dart';
|
||||
import 'package:didvan/pages/home/studio/studio.dart';
|
||||
import 'package:didvan/pages/home/widgets/bnb.dart';
|
||||
|
|
@ -22,7 +22,7 @@ class _HomeState extends State<Home> with SingleTickerProviderStateMixin {
|
|||
@override
|
||||
void initState() {
|
||||
DesignConfig.updateSystemUiOverlayStyle();
|
||||
_tabController = TabController(length: 5, vsync: this);
|
||||
_tabController = TabController(length: 5, vsync: this, initialIndex: 2);
|
||||
_tabController.addListener(() {
|
||||
context.read<HomeState>().currentPageIndex = _tabController.index;
|
||||
});
|
||||
|
|
@ -40,7 +40,7 @@ class _HomeState extends State<Home> with SingleTickerProviderStateMixin {
|
|||
Statictics(),
|
||||
Radar(),
|
||||
Studio(),
|
||||
Profile(),
|
||||
Settings(),
|
||||
],
|
||||
),
|
||||
bottomNavigationBar: Consumer<HomeState>(
|
||||
|
|
@ -48,6 +48,7 @@ class _HomeState extends State<Home> with SingleTickerProviderStateMixin {
|
|||
currentTabIndex: state.currentPageIndex,
|
||||
onTabChanged: (index) {
|
||||
state.currentPageIndex = index;
|
||||
FocusScope.of(context).unfocus();
|
||||
_tabController.animateTo(index);
|
||||
},
|
||||
),
|
||||
|
|
|
|||
|
|
@ -25,7 +25,6 @@ class News extends StatefulWidget {
|
|||
|
||||
class _NewsState extends State<News> {
|
||||
Timer? _timer;
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
Future.delayed(Duration.zero, () {
|
||||
|
|
@ -48,6 +47,7 @@ class _NewsState extends State<News> {
|
|||
title: 'اخبار',
|
||||
onChanged: _onChanged,
|
||||
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/pages/home/news/news_state.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/divider.dart';
|
||||
import 'package:didvan/widgets/didvan/icon_button.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:persian_number_utility/persian_number_utility.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
|
|
@ -20,7 +19,7 @@ class NewsItem extends StatelessWidget {
|
|||
final state = context.read<NewsState>();
|
||||
return DidvanCard(
|
||||
onTap: () => Navigator.of(context).pushNamed(
|
||||
Routes.radarDetails,
|
||||
Routes.newsDetails,
|
||||
arguments: {
|
||||
'state': state,
|
||||
'id': news.id,
|
||||
|
|
@ -61,12 +60,10 @@ class NewsItem extends StatelessWidget {
|
|||
'${news.reference} | ${DateTime.parse(news.createdAt).toPersianDateStr()}',
|
||||
style: Theme.of(context).textTheme.overline,
|
||||
),
|
||||
DidvanIconButton(
|
||||
icon: news.marked
|
||||
? DidvanIcons.bookmark_solid
|
||||
: DidvanIcons.bookmark_regular,
|
||||
gestureSize: 32,
|
||||
onPressed: () => state.markNews(news.id),
|
||||
BookmarkButton(
|
||||
value: news.marked,
|
||||
onMark: () => state.markNews(news.id),
|
||||
onUnmark: () => state.unMarkNews(news.id),
|
||||
),
|
||||
],
|
||||
),
|
||||
|
|
|
|||
|
|
@ -8,11 +8,14 @@ import 'package:didvan/providers/user_provider.dart';
|
|||
import 'package:didvan/routes/routes.dart';
|
||||
import 'package:didvan/services/app_initalizer.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/widgets/logos/didvan_horizontal_logo.dart';
|
||||
import 'package:flutter/foundation.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import 'package:universal_html/html.dart' as html;
|
||||
|
||||
class Splash extends StatefulWidget {
|
||||
const Splash({Key? key}) : super(key: key);
|
||||
|
|
@ -30,31 +33,6 @@ class _SplashState extends State<Splash> {
|
|||
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
|
||||
Widget build(BuildContext context) {
|
||||
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