import 'package:mc_common_app/models/advertisment_models/ad_details_model.dart'; 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/profile/profile_view.dart'; import 'package:mc_common_app/views/setting_options/provider_license_page.dart'; import 'package:mc_common_app/views/setting_options/setting_option_help.dart'; import 'package:mc_common_app/views/setting_options/setting_options_language.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"; // Appoinments 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"; static const String appoinmentSearchFilterPage = "/appoinmentSearchFilterPage"; //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 branchSearchFilterPage = "/branchSearchFilterPage"; 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"; static const String settingOptionsHelp = "/settingOptionsHelp"; //Profile Screen static const String profileView = "/profileView"; static const providerLicensePage = "/providerLicensePage"; //Provider User Page static const dealerUser = "/dealerUser"; //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(), profileView: (context) => const ProfileScreen(), settingOptionsLanguages: (context) => const SettingOptionsLanguage(), settingOptionsHelp: (context) => const SettingOptionsHelp(), providerLicensePage: (context) => ProviderLicensePage(), }; } class ChatViewArgumentsForRequest { final int? requestId; final ChatTypeEnum chatTypeEnum; final String senderId; final String receiverId; final int providerIndex; final int requestIndex; final RequestModel? requestModel; ChatViewArgumentsForRequest({ required this.chatTypeEnum, this.requestId, required this.senderId, required this.receiverId, required this.providerIndex, required this.requestIndex, this.requestModel, }); } class ChatViewArgumentsForAd { final AdDetailsModel? adDetailsModel; ChatViewArgumentsForAd({required this.adDetailsModel}); } class ChatViewArguments { final ChatViewArgumentsForAd? chatViewArgumentsForAd; final ChatViewArgumentsForRequest? chatViewArgumentsForRequest; final ChatTypeEnum chatTypeEnum; ChatViewArguments({ this.chatViewArgumentsForAd, this.chatViewArgumentsForRequest, required this.chatTypeEnum, }); } 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}); }