import 'package:mc_common_app/models/requests_models/offers_model.dart'; import 'package:mc_common_app/models/requests_models/provider_offers_model.dart'; import 'package:mc_common_app/models/requests_models/request_model.dart'; import 'package:mc_common_app/models/user_models/register_user.dart'; import 'package:mc_common_app/utils/enums.dart'; import 'package:mc_common_app/views/user/change_email_page.dart'; import 'package:mc_common_app/views/user/change_mobile_page.dart'; import 'package:mc_common_app/views/user/change_password_page.dart'; import 'package:mc_common_app/views/user/complete_profile_page.dart'; import 'package:mc_common_app/views/user/confirm_new_password_page.dart'; import 'package:mc_common_app/views/user/edit_account_page.dart'; import 'package:mc_common_app/views/user/forget_password_method_page.dart'; import 'package:mc_common_app/views/user/forget_password_page.dart'; import 'package:mc_common_app/views/user/login_method_selection_page.dart'; import 'package:mc_common_app/views/user/login_verification_page.dart'; import 'package:mc_common_app/views/user/login_verify_account_page.dart'; import 'package:mc_common_app/views/user/login_with_password_page.dart'; import 'package:mc_common_app/views/user/register_page.dart'; import 'package:mc_common_app/views/user/register_provider_page.dart'; import 'package:mc_common_app/views/user/register_selection_page.dart'; import 'package:mc_common_app/views/splash/splash_page.dart'; import 'package:mc_common_app/views/user/vertify_password_page.dart'; import 'package:flutter/material.dart'; class AppRoutes { //User static const String splash = "/splash"; static const String registerSelection = "/registerSelection"; static const String loginVerifyAccount = "/loginVerifyAccount"; static const String registerCustomer = "/registerCustomer"; static const String registerProvider = "/registerProvider"; static const String forgetPassword = "/forgetPassword"; static const String loginVerification = "/loginVerification"; static const String loginWithPassword = "/loginWithPassword"; static const String loginMethodSelection = "/loginMethodSelection"; static const String completeProfile = "/completeProfile"; static const String profile1 = "/profile1"; static const String profile2 = "/profile2"; static const String profile3 = "/profile3"; static const String verifyPassword = "/vertifyPassword"; static const String confirmNewPasswordPage = "/confirmNewPasswordPage"; static const String changePassword = "/changePassword"; static const String forgetPasswordMethodPage = "/forgetPasswordMethodPage"; static const String changeMobilePage = "/changeMobilePage"; static const String changeEmailPage = "/changeEmailPage"; static const String editAccountPage = "/editAccoundPage"; static const String dashboard = "/dashboard"; static const String bookProviderAppView = "/bookProviderAppView"; static const String appointmentDetailView = "/appointmentDetailView"; static const String bookAppointmenServicesView = "/bookAppointmenServicesView"; static const String bookAppointmenSchedulesView = "/bookAppointmenSchedulesView"; static const String bookAppointmentsItemView = "/bookAppointmentsItemView"; static const String reviewAppointmentView = "/reviewAppointmentView"; //Advertisement static const String selectAdTypeView = "/selectAdTypeView"; static const String adsDetailView = "/adsDetailView"; static const String createAdView = "/createAdView"; static const String adsFilterView = "/adsFilterView"; // Payments static const String paymentMethodsView = "/paymentMethodsView"; //Customer APP: Provider & Services static const String branchDetailPage = "/branchDetailPage"; static const String providerProfilePage = "/providerProfilePage"; // Subscriptions static const String mySubscriptionsPage = "/mySubscriptionsPage"; static const String subscriptionsPage = "/subscriptionsPage"; //Requests static const String myRequestsPage = "/myRequestsPage"; static const String createRequestPage = "/createRequestPage"; static const String offersListPage = "/offersListPage"; static const String requestsDetailPage = "/requestsDetailPage"; static const String sendOfferPage = "/sendOfferPage"; //Setting Options static const String settingOptionsFaqs = "/settingOptionsFaqs"; static const String settingOptionsLanguages = "/settingOptionsLanguages"; static const String settingOptionsInviteFriends = "/settingOptionsInviteFriends"; //Chat static const String chatView = "/chatView"; static const String initialRoute = splash; static final Map routes = { //User splash: (context) => const SplashPage(), registerSelection: (context) => const RegisterSelectionPage(), loginVerifyAccount: (context) => LoginVerifyAccountPage(), registerCustomer: (context) => const RegisterCustomerPage(), registerProvider: (context) => const RegisterProviderPage(), forgetPassword: (context) => const ForgetPasswordPage(), loginVerification: (context) => const LoginVerificationPage(), loginWithPassword: (context) => const LoginWithPassword(), loginMethodSelection: (context) => LoginMethodSelectionPage(ModalRoute.of(context)!.settings.arguments as String), completeProfile: (context) => CompleteProfilePage(ModalRoute.of(context)!.settings.arguments as RegisterUserRespModel), verifyPassword: (context) => VerifyPasswordPage(), confirmNewPasswordPage: (context) => ConfirmNewPasswordPage(ModalRoute.of(context)!.settings.arguments as String), changePassword: (context) => const ChangePasswordPage(), forgetPasswordMethodPage: (context) => ForgetPasswordMethodPage(ModalRoute.of(context)!.settings.arguments as String), changeMobilePage: (context) => ChangeMobilePage(), changeEmailPage: (context) => const ChangeEmailPage(), editAccountPage: (context) => const EditAccountPage(), }; } class ChatViewArguments { final int? requestId; final ChatTypeEnum chatTypeEnum; final String senderId; final String receiverId; final int providerIndex; final int requestIndex; final RequestModel? requestModel; ChatViewArguments({ required this.chatTypeEnum, this.requestId, required this.senderId, required this.receiverId, required this.providerIndex, required this.requestIndex, this.requestModel, }); } class OfferListPageArguments { final List serviceProviderOffers; final int? requestId; OfferListPageArguments({required this.serviceProviderOffers, this.requestId}); } class RequestDetailPageArguments { final int requestIndex; final RequestModel requestModel; RequestDetailPageArguments({required this.requestIndex, required this.requestModel}); }