route system updated

This commit is contained in:
MohammadTaha Basiri 2022-01-11 18:53:25 +03:30
parent a103f0e574
commit a366c0372f
2 changed files with 50 additions and 14 deletions

View File

@ -1,11 +1,14 @@
import 'package:didvan/pages/authentication/authentication.dart'; import 'package:didvan/pages/authentication/authentication.dart';
import 'package:didvan/pages/authentication/authentication_state.dart'; import 'package:didvan/pages/authentication/authentication_state.dart';
import 'package:didvan/pages/home/comments/comments.dart';
import 'package:didvan/pages/home/comments/comments_state.dart';
import 'package:didvan/pages/home/direct/direct.dart'; import 'package:didvan/pages/home/direct/direct.dart';
import 'package:didvan/pages/home/direct/direct_state.dart'; import 'package:didvan/pages/home/direct/direct_state.dart';
import 'package:didvan/pages/home/home.dart'; import 'package:didvan/pages/home/home.dart';
import 'package:didvan/pages/home/home_state.dart'; import 'package:didvan/pages/home/home_state.dart';
import 'package:didvan/pages/home/news/news_details/news_details.dart'; import 'package:didvan/pages/home/news/news_details/news_details.dart';
import 'package:didvan/pages/home/news/news_details/news_details_state.dart'; import 'package:didvan/pages/home/news/news_details/news_details_state.dart';
import 'package:didvan/pages/home/news/news_state.dart';
import 'package:didvan/pages/home/profile/direct_list/direct_list.dart'; import 'package:didvan/pages/home/profile/direct_list/direct_list.dart';
import 'package:didvan/pages/home/profile/direct_list/direct_list_state.dart'; import 'package:didvan/pages/home/profile/direct_list/direct_list_state.dart';
import 'package:didvan/pages/home/profile/edit_profile/edit_profile.dart'; import 'package:didvan/pages/home/profile/edit_profile/edit_profile.dart';
@ -13,8 +16,8 @@ import 'package:didvan/pages/home/profile/settings/settings.dart';
import 'package:didvan/pages/home/profile/settings/settings_state.dart'; import 'package:didvan/pages/home/profile/settings/settings_state.dart';
import 'package:didvan/pages/home/radar/radar_details/radar_details.dart'; import 'package:didvan/pages/home/radar/radar_details/radar_details.dart';
import 'package:didvan/pages/home/radar/radar_details/radar_details_state.dart'; import 'package:didvan/pages/home/radar/radar_details/radar_details_state.dart';
import 'package:didvan/pages/home/radar/radar_state.dart';
import 'package:didvan/pages/splash/splash.dart'; import 'package:didvan/pages/splash/splash.dart';
import 'package:didvan/pages/splash/splash_state.dart';
import 'package:didvan/routes/routes.dart'; import 'package:didvan/routes/routes.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
@ -24,22 +27,29 @@ class RouteGenerator {
switch (settings.name) { switch (settings.name) {
case Routes.splash: case Routes.splash:
return _createRoute( return _createRoute(
ChangeNotifierProvider<SplashState>( const Splash(),
create: (context) => SplashState(),
child: const Splash(),
),
); );
case Routes.authenticaion: case Routes.authenticaion:
return _createRoute( return _createRoute(
ChangeNotifierProvider<AuthenticationState>( ChangeNotifierProvider<AuthenticationState>(
create: (context) => AuthenticationState(), create: (context) => AuthenticationState(),
child: const Authentication(), child: Authentication(isResetPassword: settings.arguments as bool),
), ),
); );
case Routes.home: case Routes.home:
return _createRoute( return _createRoute(
MultiProvider(
providers: [
ChangeNotifierProvider<HomeState>( ChangeNotifierProvider<HomeState>(
create: (context) => HomeState(), create: (context) => HomeState(),
),
ChangeNotifierProvider<RadarState>(
create: (context) => RadarState(),
),
ChangeNotifierProvider<NewsState>(
create: (context) => NewsState(),
),
],
child: const Home(), child: const Home(),
), ),
); );
@ -56,15 +66,31 @@ class RouteGenerator {
); );
case Routes.radarDetails: case Routes.radarDetails:
return _createRoute( return _createRoute(
MultiProvider(
providers: [
ChangeNotifierProvider<RadarDetailsState>( ChangeNotifierProvider<RadarDetailsState>(
create: (context) => RadarDetailsState(), create: (context) => RadarDetailsState(),
child: const RadarDetails(), ),
ChangeNotifierProvider<RadarState>.value(
value: (settings.arguments as Map<String, dynamic>)['state'],
)
],
child: RadarDetails(
id: (settings.arguments as Map<String, dynamic>)['id'],
),
), ),
); );
case Routes.newsDetails: case Routes.newsDetails:
return _createRoute( return _createRoute(
MultiProvider(
providers: [
ChangeNotifierProvider<NewsDetailsState>( ChangeNotifierProvider<NewsDetailsState>(
create: (context) => NewsDetailsState(), create: (context) => NewsDetailsState(),
),
ChangeNotifierProvider<NewsState>.value(
value: (settings.arguments as Map<String, dynamic>)['state'],
)
],
child: const NewsDetails(), child: const NewsDetails(),
), ),
); );
@ -79,7 +105,16 @@ class RouteGenerator {
return _createRoute( return _createRoute(
ChangeNotifierProvider<DirectState>( ChangeNotifierProvider<DirectState>(
create: (context) => DirectState(), create: (context) => DirectState(),
child: const Direct(), child: Direct(id: settings.arguments as int),
),
);
case Routes.comments:
return _createRoute(
ChangeNotifierProvider<CommentsState>(
create: (context) => CommentsState(),
child: Comments(
pageData: settings.arguments as Map<String, dynamic>,
),
), ),
); );
default: default:

View File

@ -9,4 +9,5 @@ class Routes {
static const String newsDetails = '/news-details'; static const String newsDetails = '/news-details';
static const String directList = '/direct-list'; static const String directList = '/direct-list';
static const String direct = '/direct'; static const String direct = '/direct';
static const String comments = '/comments';
} }