Files
eatvio_app/lib/routes/app_routes.dart
2024-06-06 13:42:56 +03:00

192 lines
10 KiB
Dart

import 'package:eatvio_app/presentation/diets/diet_select_screen/diet_select_screen.dart';
import 'package:flutter/material.dart';
import 'package:eatvio_app/presentation/registration/date_of_birth_screen/date_of_birth_screen.dart';
import 'package:eatvio_app/presentation/registration/city_of_living_screen/city_of_living_screen.dart';
import 'package:eatvio_app/presentation/registration/body_circumferences_screen/body_circumferences_screen.dart';
import 'package:eatvio_app/presentation/registration/weight_screen/weight_screen.dart';
import 'package:eatvio_app/presentation/registration/allergies_screen/allergies_screen.dart';
import 'package:eatvio_app/presentation/registration/medicine_intake_screen/medicine_intake_screen.dart';
import 'package:eatvio_app/presentation/registration/splash_screen/splash_screen.dart';
import 'package:eatvio_app/presentation/registration/gender_screen/gender_screen.dart';
import 'package:eatvio_app/presentation/registration/blood_pressure_screen/blood_pressure_screen.dart';
import 'package:eatvio_app/presentation/registration/favorite_sports_screen/favorite_sports_screen.dart';
import 'package:eatvio_app/presentation/registration/favorite_foods_screen/favorite_foods_screen.dart';
import 'package:eatvio_app/presentation/registration/additional_information_screen/additional_information_screen.dart';
import 'package:eatvio_app/presentation/registration/language_select_screen/language_select_screen.dart';
import 'package:eatvio_app/presentation/registration/height_screen/height_screen.dart';
import 'package:eatvio_app/presentation/registration/credentials_screen/credentials_screen.dart';
import 'package:eatvio_app/presentation/registration/name_screen/name_screen.dart';
import 'package:eatvio_app/presentation/registration/app_navigation_screen/app_navigation_screen.dart';
import 'package:eatvio_app/presentation/profile/my_profile_screen/my_profile_screen.dart';
import 'package:eatvio_app/presentation/profile/my_profile_screen/my_settings_screen.dart';
import 'package:eatvio_app/presentation/diary/diary_edit_screen/diary_edit_screen.dart';
import 'package:eatvio_app/presentation/chat/chat_screen/chat_screen.dart';
import 'package:eatvio_app/presentation/chat/chat_select_screen/chat_select_screen.dart';
import 'package:eatvio_app/presentation/feed/feed_screen/feed_screen.dart';
import 'package:eatvio_app/presentation/recipe/recipe_select_screen/recipe_select_screen.dart';
import 'package:eatvio_app/presentation/plans/plan_select_screen/plan_select_screen.dart';
import 'package:eatvio_app/presentation/plans/plan_edit_screen/plan_edit_screen.dart';
import 'package:eatvio_app/presentation/plans/plan_create_screen/plan_create_screen.dart';
import 'package:eatvio_app/presentation/diets/diet_show_screen/diet_show_screen.dart';
import 'package:eatvio_app/presentation/diets/diet_edit_screen/diet_edit_screen.dart';
import 'package:eatvio_app/presentation/diets/diet_create_screen/diet_create_screen.dart';
import 'package:eatvio_app/presentation/plans/plan_show_screen/plan_show_screen.dart';
import 'package:eatvio_app/presentation/recipe/recipe_show_screen/recipe_show_screen.dart';
import 'package:eatvio_app/presentation/recipe/recipe_create_screen/recipe_create_screen.dart';
import 'package:eatvio_app/presentation/recipe/recipe_edit_screen/recipe_edit_screen.dart';
import 'package:eatvio_app/presentation/feed/blog_post_edit_screen/blog_post_edit_screen.dart';
import 'package:eatvio_app/presentation/feed/blog_post_create_screen/blog_post_create_screen.dart';
import 'package:eatvio_app/presentation/glossary/glossary_screen/glossary_screen.dart';
class AppRoutes {
// REGISTRATION
static const String dateOfBirthScreen = '/date_of_birth_screen';
static const String cityOfLivingScreen = '/city_of_living_screen';
static const String bodyCircumferencesScreen = '/body_circumferences_screen';
static const String weightScreen = '/weight_screen';
static const String heightScreen = '/height_screen';
static const String allergiesScreen = '/allergies_screen';
static const String medicineIntakeScreen = '/medicine_intake_screen';
static const String splashScreen = '/splash_screen';
static const String genderScreen = '/gender_screen';
static const String bloodPressureScreen = '/blood_pressure_screen';
static const String favoriteSportsScreen = '/favorite_sports_screen';
static const String favoriteFoodsScreen = '/favorite_foods_screen';
static const String scheduleScreen = '/schedule_screen';
static const String additionalInformationScreen = '/additional_information_screen';
static const String languageSelectScreen = '/language_select_screen';
static const String nameScreen = '/name_screen';
static const String credentialsScreen = '/credentials_screen';
static const String appNavigationScreen = '/app_navigation_screen';
static const String authScreen = '/auth_screen';
static const String initialRoute = '/initialRoute';
//PROFILE
static const String myProfile = '/myProfile';
static const String mySettings = '/mySettings';
static const String diaryEdit = '/diaryEdit';
static const String chatScreen = '/chat';
static const String chatSelectScreen = '/chatSelect';
static const String feedScreen = '/feed';
static const String blogPostScreen = '/blogPost';
static const String blogPostEditScreen = '/blogPostEdit';
static const String blogPostCreateScreen = '/blogPostCreate';
static const String recipeSelectScreen = '/recipeSelect';
static const String recipeScreen = '/recipe';
static const String recipeEditScreen = '/recipeEdit';
static const String recipeCreateScreen = '/recipeCreate';
static const String dietSelectScreen = '/dietSelect';
static const String dietScreen = '/diet';
static const String dietEditScreen = '/dietEdit';
static const String dietCreateScreen = '/dietCreate';
static const String planSelectScreen = '/planSelect';
static const String planScreen = '/plan';
static const String planEditScreen = '/planEdit';
static const String planCreateScreen = '/planCreate';
static const String glossaryScreen = '/glossary';
static Map<String, WidgetBuilder> get routes => {
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),
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),
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<double>(1.0),
child: builder(context),
);
}
}
class FadeTransitionPage extends PageRouteBuilder {
final WidgetBuilder builder;
FadeTransitionPage({required this.builder})
: super(
pageBuilder: (BuildContext context, Animation<double> animation, Animation<double> secondaryAnimation) {
return builder(context);
},
transitionsBuilder: (BuildContext context, Animation<double> animation, Animation<double> secondaryAnimation, Widget child) {
return FadeTransition(opacity: animation, child: child);
},
);
}