Refactor provider initialization to load only essential providers at startup. Introduce TabNavigationService for managing tab state and update screens to respond to tab changes. Clean up view models and navigation logic for improved performance and maintainability.
This commit is contained in:
@@ -17,6 +17,14 @@ import '../../views/profile/pages/profile_screen.dart';
|
||||
import '../../views/splash/pages/splash_screen.dart';
|
||||
import '../../views/tenders/pages/tenders_screen.dart';
|
||||
import '../../views/your_tenders/pages/your_tenders_screen.dart';
|
||||
import '../providers/final_completion_provider.dart';
|
||||
import '../providers/home_provider.dart';
|
||||
import '../providers/liked_tenders_provider.dart';
|
||||
import '../providers/notification_provider.dart';
|
||||
import '../providers/profile_provider.dart';
|
||||
import '../providers/tender_detail_provider.dart';
|
||||
import '../providers/tenders_provider.dart';
|
||||
import '../providers/your_tenders_provider.dart';
|
||||
import 'app_shell/app_shell_screen.dart';
|
||||
|
||||
part 'app_routes.g.dart';
|
||||
@@ -147,7 +155,7 @@ class HomeRouteData extends GoRouteData with _$HomeRouteData {
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context, GoRouterState state) {
|
||||
return const HomeScreen();
|
||||
return homeProvider(child: const HomeScreen());
|
||||
}
|
||||
|
||||
// @override
|
||||
@@ -177,7 +185,7 @@ class TendersRouteData extends GoRouteData with _$TendersRouteData {
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context, GoRouterState state) {
|
||||
return const TendersScreen();
|
||||
return tendersProvider(child: const TendersScreen());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -186,7 +194,7 @@ class ProfileRouteData extends GoRouteData with _$ProfileRouteData {
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context, GoRouterState state) {
|
||||
return const ProfileScreen();
|
||||
return profileProvider(child: const ProfileScreen());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -195,7 +203,7 @@ class NotificationRouteData extends GoRouteData with _$NotificationRouteData {
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context, GoRouterState state) {
|
||||
return const NotificationScreen();
|
||||
return notificationProvider(child: const NotificationScreen());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -205,7 +213,7 @@ class YourTendersRouteData extends GoRouteData with _$YourTendersRouteData {
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context, GoRouterState state) {
|
||||
return const YourTendersScreen();
|
||||
return yourTendersProvider(child: const YourTendersScreen());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -218,7 +226,9 @@ class FinalCompletionOfDocumentsRouteData extends GoRouteData
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context, GoRouterState state) {
|
||||
return const FinalCompletionOfDocumentsScreen();
|
||||
return finalCompletionProvider(
|
||||
child: const FinalCompletionOfDocumentsScreen(),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -228,7 +238,7 @@ class LikedTendersRouteData extends GoRouteData with _$LikedTendersRouteData {
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context, GoRouterState state) {
|
||||
return const LikedTendersScreen();
|
||||
return likedTendersProvider(child: const LikedTendersScreen());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -241,7 +251,9 @@ class CompletionOfDocumentsMobileRouteData extends GoRouteData
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context, GoRouterState state) {
|
||||
return const CompletionOfDocumentsMobilePage();
|
||||
return finalCompletionProvider(
|
||||
child: const CompletionOfDocumentsMobilePage(),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -252,7 +264,7 @@ class TenderDetailRouteData extends GoRouteData with _$TenderDetailRouteData {
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context, GoRouterState state) {
|
||||
return TenderDetailScreen(tenderId: tenderId);
|
||||
return tenderDetailProvider(child: TenderDetailScreen(tenderId: tenderId));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user