diff --git a/lib/routes/app_routes.dart b/lib/routes/app_routes.dart index 6e29d6b0..16235b16 100644 --- a/lib/routes/app_routes.dart +++ b/lib/routes/app_routes.dart @@ -130,46 +130,106 @@ class AppRoutes { static const String glossaryScreen = '/glossary'; static Map get routes => { - dateOfBirthScreen: DateOfBirthScreen.builder, - cityOfLivingScreen: CityOfLivingScreen.builder, - bodyCircumferencesScreen: BodyCircumferencesScreen.builder, - weightScreen: WeightScreen.builder, - heightScreen: HeightScreen.builder, - nameScreen: NameScreen.builder, - credentialsScreen: CredentialsScreen.builder, - allergiesScreen: AllergiesScreen.builder, - medicineIntakeScreen: MedicineIntakeScreen.builder, - splashScreen: SplashScreen.builder, - authScreen: AuthScreen.builder, - genderScreen: GenderScreen.builder, - bloodPressureScreen: BloodPressureScreen.builder, - favoriteSportsScreen: FavoriteSportsScreen.builder, - favoriteFoodsScreen: FavoriteFoodsScreen.builder, - additionalInformationScreen: AdditionalInformationScreen.builder, - languageSelectScreen: LanguageSelectScreen.builder, - appNavigationScreen: AppNavigationScreen.builder, - initialRoute: SplashScreen.builder, - myProfile: MyProfileScreen.builder, - mySettings: MySettingsScreen.builder, - diaryEdit: DiaryEditScreen.builder, - chatScreen: ChatScreen.builder, - chatSelectScreen: ChatSelectScreen.builder, - recipeSelectScreen: RecipeSelectScreen.builder, - recipeScreen: RecipeScreen.builder, - recipeEditScreen: RecipeEditScreen.builder, - recipeCreateScreen: RecipeCreateScreen.builder, - dietSelectScreen: DietSelectScreen.builder, - dietScreen: DietScreen.builder, - dietEditScreen: DietEditScreen.builder, - dietCreateScreen: DietCreateScreen.builder, - planSelectScreen: PlanSelectScreen.builder, - planScreen: PlanScreen.builder, - planEditScreen: PlanEditScreen.builder, - planCreateScreen: PlanCreateScreen.builder, - feedScreen: FeedScreen.builder, - blogPostScreen: BlogPostScreen.builder, - blogPostEditScreen: BlogPostEditScreen.builder, - blogPostCreateScreen: BlogPostCreateScreen.builder, - glossaryScreen: GlossaryScreen.builder, + dateOfBirthScreen: (context) => + _buildFadeRoute(context, DateOfBirthScreen.builder), + cityOfLivingScreen: (context) => + _buildFadeRoute(context, CityOfLivingScreen.builder), + bodyCircumferencesScreen: (context) => + _buildFadeRoute(context, BodyCircumferencesScreen.builder), + weightScreen: (context) => + _buildFadeRoute(context, WeightScreen.builder), + heightScreen: (context) => + _buildFadeRoute(context, HeightScreen.builder), + nameScreen: (context) => _buildFadeRoute(context, NameScreen.builder), + credentialsScreen: (context) => + _buildFadeRoute(context, CredentialsScreen.builder), + allergiesScreen: (context) => + _buildFadeRoute(context, AllergiesScreen.builder), + medicineIntakeScreen: (context) => + _buildFadeRoute(context, MedicineIntakeScreen.builder), + splashScreen: (context) => + _buildFadeRoute(context, SplashScreen.builder), + authScreen: (context) => _buildFadeRoute(context, AuthScreen.builder), + genderScreen: (context) => + _buildFadeRoute(context, GenderScreen.builder), + bloodPressureScreen: (context) => + _buildFadeRoute(context, BloodPressureScreen.builder), + favoriteSportsScreen: (context) => + _buildFadeRoute(context, FavoriteSportsScreen.builder), + favoriteFoodsScreen: (context) => + _buildFadeRoute(context, FavoriteFoodsScreen.builder), + additionalInformationScreen: (context) => + _buildFadeRoute(context, AdditionalInformationScreen.builder), + languageSelectScreen: (context) => + _buildFadeRoute(context, LanguageSelectScreen.builder), + appNavigationScreen: (context) => + _buildFadeRoute(context, AppNavigationScreen.builder), + initialRoute: (context) => + _buildFadeRoute(context, SplashScreen.builder), + myProfile: (context) => + _buildFadeRoute(context, MyProfileScreen.builder), + mySettings: (context) => + _buildFadeRoute(context, MySettingsScreen.builder), + diaryEdit: (context) => + _buildFadeRoute(context, DiaryEditScreen.builder), + chatScreen: (context) => _buildFadeRoute(context, ChatScreen.builder), + chatSelectScreen: (context) => + _buildFadeRoute(context, ChatSelectScreen.builder), + recipeSelectScreen: (context) => + _buildFadeRoute(context, RecipeSelectScreen.builder), + recipeScreen: (context) => + _buildFadeRoute(context, RecipeScreen.builder), + recipeEditScreen: (context) => + _buildFadeRoute(context, RecipeEditScreen.builder), + recipeCreateScreen: (context) => + _buildFadeRoute(context, RecipeCreateScreen.builder), + dietSelectScreen: (context) => + _buildFadeRoute(context, DietSelectScreen.builder), + dietScreen: (context) => _buildFadeRoute(context, DietScreen.builder), + dietEditScreen: (context) => + _buildFadeRoute(context, DietEditScreen.builder), + dietCreateScreen: (context) => + _buildFadeRoute(context, DietCreateScreen.builder), + planSelectScreen: (context) => + _buildFadeRoute(context, PlanSelectScreen.builder), + planScreen: (context) => _buildFadeRoute(context, PlanScreen.builder), + planEditScreen: (context) => + _buildFadeRoute(context, PlanEditScreen.builder), + planCreateScreen: (context) => + _buildFadeRoute(context, PlanCreateScreen.builder), + feedScreen: (context) => _buildFadeRoute(context, FeedScreen.builder), + blogPostScreen: (context) => + _buildFadeRoute(context, BlogPostScreen.builder), + blogPostEditScreen: (context) => + _buildFadeRoute(context, BlogPostEditScreen.builder), + blogPostCreateScreen: (context) => + _buildFadeRoute(context, BlogPostCreateScreen.builder), + glossaryScreen: (context) => + _buildFadeRoute(context, GlossaryScreen.builder), }; + + static Widget _buildFadeRoute(BuildContext context, WidgetBuilder builder) { + return FadeTransition( + opacity: AlwaysStoppedAnimation(1.0), + child: builder(context), + ); + } +} + +class FadeTransitionPage extends PageRouteBuilder { + final WidgetBuilder builder; + + FadeTransitionPage({required this.builder}) + : super( + pageBuilder: (BuildContext context, Animation animation, + Animation secondaryAnimation) { + return builder(context); + }, + transitionsBuilder: (BuildContext context, + Animation animation, + Animation secondaryAnimation, + Widget child) { + return FadeTransition(opacity: animation, child: child); + }, + ); }