You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
car_common_app/lib/config/routes.dart

152 lines
6.8 KiB
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/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";
//Profile Screen
static const String profileView = "/profileView";
//Chat
static const String chatView = "/chatView";
static const String initialRoute = splash;
static final Map<String, WidgetBuilder> 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(),
};
}
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<ServiceProvidersOffers> 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});
}