From a366c0372f3e2940d9573a78c64f38fea1720136 Mon Sep 17 00:00:00 2001 From: MohammadTaha Basiri Date: Tue, 11 Jan 2022 18:53:25 +0330 Subject: [PATCH] route system updated --- lib/routes/route_generator.dart | 63 +++++++++++++++++++++++++-------- lib/routes/routes.dart | 1 + 2 files changed, 50 insertions(+), 14 deletions(-) diff --git a/lib/routes/route_generator.dart b/lib/routes/route_generator.dart index 263f212..37c9124 100644 --- a/lib/routes/route_generator.dart +++ b/lib/routes/route_generator.dart @@ -1,11 +1,14 @@ import 'package:didvan/pages/authentication/authentication.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_state.dart'; import 'package:didvan/pages/home/home.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_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_state.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/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_state.dart'; import 'package:didvan/pages/splash/splash.dart'; -import 'package:didvan/pages/splash/splash_state.dart'; import 'package:didvan/routes/routes.dart'; import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; @@ -24,22 +27,29 @@ class RouteGenerator { switch (settings.name) { case Routes.splash: return _createRoute( - ChangeNotifierProvider( - create: (context) => SplashState(), - child: const Splash(), - ), + const Splash(), ); case Routes.authenticaion: return _createRoute( ChangeNotifierProvider( create: (context) => AuthenticationState(), - child: const Authentication(), + child: Authentication(isResetPassword: settings.arguments as bool), ), ); case Routes.home: return _createRoute( - ChangeNotifierProvider( - create: (context) => HomeState(), + MultiProvider( + providers: [ + ChangeNotifierProvider( + create: (context) => HomeState(), + ), + ChangeNotifierProvider( + create: (context) => RadarState(), + ), + ChangeNotifierProvider( + create: (context) => NewsState(), + ), + ], child: const Home(), ), ); @@ -56,15 +66,31 @@ class RouteGenerator { ); case Routes.radarDetails: return _createRoute( - ChangeNotifierProvider( - create: (context) => RadarDetailsState(), - child: const RadarDetails(), + MultiProvider( + providers: [ + ChangeNotifierProvider( + create: (context) => RadarDetailsState(), + ), + ChangeNotifierProvider.value( + value: (settings.arguments as Map)['state'], + ) + ], + child: RadarDetails( + id: (settings.arguments as Map)['id'], + ), ), ); case Routes.newsDetails: return _createRoute( - ChangeNotifierProvider( - create: (context) => NewsDetailsState(), + MultiProvider( + providers: [ + ChangeNotifierProvider( + create: (context) => NewsDetailsState(), + ), + ChangeNotifierProvider.value( + value: (settings.arguments as Map)['state'], + ) + ], child: const NewsDetails(), ), ); @@ -79,7 +105,16 @@ class RouteGenerator { return _createRoute( ChangeNotifierProvider( create: (context) => DirectState(), - child: const Direct(), + child: Direct(id: settings.arguments as int), + ), + ); + case Routes.comments: + return _createRoute( + ChangeNotifierProvider( + create: (context) => CommentsState(), + child: Comments( + pageData: settings.arguments as Map, + ), ), ); default: diff --git a/lib/routes/routes.dart b/lib/routes/routes.dart index ccfb5a7..46bbb21 100644 --- a/lib/routes/routes.dart +++ b/lib/routes/routes.dart @@ -9,4 +9,5 @@ class Routes { static const String newsDetails = '/news-details'; static const String directList = '/direct-list'; static const String direct = '/direct'; + static const String comments = '/comments'; }