import 'dart:io';

import 'package:flutter/cupertino.dart';
import 'package:mc_common_app/classes/app_state.dart';
import 'package:mc_common_app/generated/codegen_loader.g.dart';
import 'package:mc_common_app/utils/enums.dart';

class ApiConsts {
  // static String baseUrl = "http://10.200.204.20:2801/"; // Local server
  static String baseUrl = "https://ms.hmg.com/"; // production server
  static String baseUrlServices = baseUrl; // production server
  static String basicOTP = "${baseUrlServices}api/Register/BasicOTP";
  static String basicVerify = "${baseUrlServices}api/Register/BasicVerify";
  static String basicComplete = "${baseUrlServices}api/Register/BasicComplete";
  static String refreshToken = "${baseUrlServices}api/Account/RefreshToken";

  static String signalRUrl = "${baseUrl}McHub";

  //User
  static String loginV1 = "${baseUrlServices}api/Account/Login_V1";
  static String loginV2OTP = "${baseUrlServices}api/Account/Login_V2_OTP";
  static String loginV2OTPVerify = "${baseUrlServices}api/Account/Login_V2_OTPVerify";
  static String user = "${baseUrlServices}api/User/";
  static String getAllCountry = "${baseUrlServices}api/Master/Country_Get";
  static String getProviderRoles = "${baseUrlServices}api/Master/RoleServiceProvider_Get";
  static String getAllCities = "${baseUrlServices}api/Master/City_Get";
  static String forgetPasswordOTPRequest = "${baseUrlServices}api/Account/ForgetPasswordOTPRequest";
  static String forgetPasswordOTPCompare = "${baseUrlServices}api/Account/ForgetPasswordOTPCompare";
  static String forgetPassword = "${baseUrlServices}api/Account/ForgetPassword";
  static String loginEmailOTP = "${baseUrlServices}api/Account/EmailVerify";
  static String loginEmailOTPVerify = "${baseUrlServices}api/Account/EmailVerifyOTPVerify";
  static String changePassword = "${baseUrlServices}api/Account/ChangePassword";
  static String changeMobileNoOTPRequest = "${baseUrlServices}api/Account/ChangeMobileNoOTPRequest";
  static String changeMobileNo = "${baseUrlServices}api/Account/ChangeMobileNo";
  static String changeEmailOTPRequest = "${baseUrlServices}api/Account/ChangeEmailOTPRequest";
  static String changeEmail = "${baseUrlServices}api/Account/ChangeEmail";
  static String emailVerify = "${baseUrlServices}api/Account/EmailVerify";
  static String emailVerifyOTPVerify = "${baseUrlServices}api/Account/EmailVerifyOTPVerify";
  static String logoutUser = "${baseUrlServices}api/Account/Logout";
  static String updateUserImage = "${baseUrlServices}api/User_UpdateProfileImage";
  static String getUserImage = "${baseUrlServices}api/ProfileImage";
  static String providerComplaintCreate = "${baseUrlServices}api/ServiceProviders/ProviderComplaint_Create";

  //Profile
  static String fetProviderDocument = "${baseUrlServices}api/ServiceProviders/ServiceProviderDocument_Get";
  static String serviceProviderDocumentUpdate = "${baseUrlServices}api/ServiceProviders/ServiceProviderDocument_Update";

  //Branch
  static String getProviderBranch = "${baseUrlServices}api/ServiceProviders/ServiceProviderBranch_Get";
  static String createProviderBranch = "${baseUrlServices}api/ServiceProviders/ServiceProviderBranch_Create";
  static String updateProviderBranch = "${baseUrlServices}api/ServiceProviders/ServiceProviderBranch_Update";
  static String deleteProviderBranch = "${baseUrlServices}api/ServiceProviders/ServiceProviderBranch_Delete";
  static String serviceProviderBranchGet = "${baseUrlServices}api/ServiceProviders/ServiceProviderBranch_Get";
  static String serviceCategoryGet = "${baseUrlServices}api/Master/ServiceCategory_Get";
  static String servicesGet = "${baseUrlServices}api/ServiceProviders/Services_Get";
  static String serviceProviderServiceCreate = "${baseUrlServices}api/ServiceProviders/ServiceProviderService_Create";
  static String serviceProviderServiceUpdate = "${baseUrlServices}api/ServiceProviders/ServiceProviderService_Update";
  static String serviceProviderServiceStatusUpdate = "${baseUrlServices}api/ServiceProviders/CategoryAndServiceDeactivateBySP";
  static String getProviderServices = "${baseUrlServices}api/ServiceProviders/ServiceProviderService_Get";
  static String setScheduleInactive = "${baseUrlServices}api/ServiceProviders/BranchAppointmentSchedule_IsActiveUpdate";
  static String serviceProviderAppointmentGetByCategoryOrService = "${baseUrlServices}api/ServiceProviders/ServiceProviderAppointment_GetByCategoryOrService";

  static String serviceProviderServiceGet = "${baseUrlServices}api/ServiceProviders/ServiceProviderService_Get";
  static String branchesAndServices = "${baseUrlServices}api/ServiceProviders/ServiceProviderDetail_Get";
  static String serviceProviderDDLGet = "${baseUrlServices}api/ServiceProviders/ServiceProviderDDL_Get";
  static String getAllNearBranches = "${baseUrlServices}api/ServiceProviders/ServiceProviderBranchDetail_Get";
  static String getMyRecentBranches = "${baseUrlServices}api/ServiceProviders/ServiceProviderBranchRecent_Get";
  static String getBranchRatings = "${baseUrlServices}api/ServiceProviders/BranchRating_Get";
  static String createBranchRatings = "${baseUrlServices}api/ServiceProviders/BranchRating_Create";
  static String favouriteServiceProviderCreate = "${baseUrlServices}api/ServiceProviders/FavouriteServiceProvider_Create";
  static String unFavouriteServiceProvider = "${baseUrlServices}api/ServiceProviders/UnFavouriteServiceProvider";
  static String favouriteServiceProviderGet = "${baseUrlServices}api/ServiceProviders/FavouriteServiceProvider_Get";

  //Appointment APIs
  static String serviceProvidersAppointmentGet = "${baseUrlServices}api/ServiceProviders/ServiceProvidersAppointment_Get";
  static String customersAppointmentGetByFilters = "${baseUrlServices}api/ServiceProviders/ServiceProvidersAppointmentSearchFiltersByCustomer_Get";
  static String serviceItemsGet = "${baseUrlServices}api/ServiceProviders/ServiceItem_Get";
  static String getServiceItemAppointmentScheduleSlots = "${baseUrlServices}api/ServiceProviders/ServiceItemAppointmentScheduleSlots_GetByAppointmentType";
  static String serviceProvidersAppointmentCreate = "${baseUrlServices}api/ServiceProviders/ServiceProvidersAppointmentList_Create";
  static String serviceProviderAppointmentRescheduleCancelAppointment = "${baseUrlServices}api/ServiceProviders/ServiceProviderAppointment_RescheduleCancelAppointment";
  static String addNewServicesInAppointment = "${baseUrlServices}api/ServiceProviders/ServiceProviderAppointment_ServiceItemAdd";

  static String getAppointmentSlots = "${baseUrlServices}api/ServiceProviders/ScheduleSlotsInfo_Get";
  static String updateAppointmentStatus = "${baseUrlServices}api/ServiceProviders/ServiceProvidersAppointmentStatus_Update";
  static String updateAppointmentPaymentStatus = "${baseUrlServices}api/ServiceProviders/ServiceProviderAppointmentServiceItemPaymentStatus_Update";
  static String createMergeAppointment = "${baseUrlServices}api/ServiceProviders/ServiceProviderMergeAppointment_Create";

  //ServiceProvidersServiceID as params
  // static String servicesGet = "${baseUrlServices}api/ServiceProviders/Services_Get";

  //Services & items
  static String createService = "${baseUrlServices}api/ServiceProviders/Service_Create";
  static String createItems = "${baseUrlServices}api/ServiceProviders/ServiceItem_Create";
  static String getServiceItems = "${baseUrlServices}api/ServiceProviders/ServiceItem_Get";
  static String updateServiceItem = "${baseUrlServices}api/ServiceProviders/ServiceItem_Update";

  //Schedule & Group
  static String getServicesOfBranch = "${baseUrlServices}api/ServiceProviders/ServiceProviderService_Get";
  static String createSchedule = "${baseUrlServices}api/ServiceProviders/BranchAppointmentSchedule_Create";
  static String getSchedule = "${baseUrlServices}api/ServiceProviders/BranchAppointmentSchedule_Get";
  static String updateSchedule = "${baseUrlServices}api/ServiceProviders/BranchAppointmentSchedule_Update";
  static String createGroup = "${baseUrlServices}api/ServiceProviders/BranchScheduleGroupService_Create";
  static String updateGroup = "${baseUrlServices}api/ServiceProviders/BranchScheduleGroupService_Update";
  static String checkGroupServiceInBranchSchedule = "${baseUrlServices}api/ServiceProviders/BranchScheduleGroupService_Check";

  //Advertisement APIs
  static String vehicleTypeGet = "${baseUrlServices}api/ServiceProviders/VehicleType_Get";
  static String vehicleModelGet = "${baseUrlServices}api/Master/VehicleModel_Get";
  static String vehicleBrandGet = "${baseUrlServices}api/Master/VehicleBrand_Get";
  static String vehicleModelYearGet = "${baseUrlServices}api/Master/VehicleModelYear_Get";
  static String vehicleColorGet = "${baseUrlServices}api/Master/VehicleColor_Get";
  static String vehicleConditionGet = "${baseUrlServices}api/Master/VehicleCondition_Get";
  static String vehicleCategoryGet = "${baseUrlServices}api/Master/VehicleCategory_Get";
  static String vehicleMileageGet = "${baseUrlServices}api/Master/VehicleMileage_Get";
  static String vehicleTransmissionGet = "${baseUrlServices}api/Master/VehicleTransmission_Get";
  static String vehicleSellerTypeGet = "${baseUrlServices}api/Master/VehicleSellerType_Get";
  static String vehicleDamagePartGet = "${baseUrlServices}api/ServiceProviders/VehicleDamagePart_Get";
  static String vehicleCountryGet = "${baseUrlServices}api/Master/Country_Get";
  static String vehicleCityGet = "${baseUrlServices}api/Master/City_Get";
  static String vehicleDetailsMaster = "${baseUrlServices}api/Master";
  static String vehicleAdsDurationGet = "${baseUrlServices}api/Advertisement/AdsDuration_Get";
  static String vehicleAdsSpecialServicesGet = "${baseUrlServices}api/Common/SpecialService_Get";
  static String vehicleAdsSingleStepCreate = "${baseUrlServices}api/Advertisement/AdsSingleStep_Create";
  static String vehicleAdsSingleStepUpdate = "${baseUrlServices}api/Advertisement/AdsSingleStep_Update";
  static String vehicleAdsGet = "${baseUrlServices}api/Advertisement/Ads_Get";
  static String myAdsReserveGet = "${baseUrlServices}api/Advertisement/AdsReserve_Get";
  static String reserveAdsBankDetailsGet = "${baseUrlServices}api/Advertisement/MCBankAccountAd_Get";
  static String adsUpdateStatus = "${baseUrlServices}api/Advertisement/Ads_UpdateStatus";
  static String deleteAd = "${baseUrlServices}api/Advertisement/Ads_Delete";
  static String adsCarCheckupSPBranchScheduleSlotGet = "${baseUrlServices}api/Advertisement/AdsCarCheckupSPBranchScheduleSlot_Get";
  static String adsPhotoOfficeAppointmentScheduleSlotGet = "${baseUrlServices}api/Advertisement/PhotoOfficeAppointmentScheduleSlot_Get";
  static String adsPhotoOfficeAppointmentCreate = "${baseUrlServices}api/Advertisement/PhotoOfficeAppointment_Create";
  static String adsMCBankAccountAdGet = "${baseUrlServices}api/Advertisement/MCBankAccountAd_Get";
  static String adsReserveCreate = "${baseUrlServices}api/Advertisement/AdsReserve_Create";
  static String reserveAdPaymentOnDealDoneCreate = "${baseUrlServices}api/Advertisement/ReserveAdPaymentOnDealDone_Create";
  static String adsExtendDurationCreate = "${baseUrlServices}api/Advertisement/Ads_ExtendDuration_Create";

  //Subscription
  static String getMySubscriptions = "${baseUrlServices}api/ServiceProviders/ProviderSubscription_Get";
  static String getAllSubscriptions = "${baseUrlServices}api/Common/Subscription_Get";
  static String getSubscriptionBySP = "${baseUrlServices}api/Common/SubscriptionBySP_Get";
  static String calculationUpgradePrice = "${baseUrlServices}api/ServiceProviders/CalculationUpgradePrice";
  static String payFortOrderProviderSubscriptionCreate = "${baseUrlServices}api/Payment/PayFortOrder_ProviderSubscription_Create";
  static String getSPBranchUserGet = "${baseUrlServices}api/ServiceProviders/SPBranchUser_Get";

  // Payment
  static String paymentWebViewUrl = "https://ms.hmg.com/pay/PaymentHome";
  static String payForOrderDetailGet = "${baseUrlServices}api/Payment/PayFortOrderDetail_Get";
  static String payForOrderIsPaidGet = "${baseUrlServices}api/Payment/PayFortOrderIsPaid_Get";

  //Duplicate Services
  static String getMatchedServices = "${baseUrlServices}api/ServiceProviders/ServiceProviderBranchServicesMapping_Get";
  static String duplicateItems = "${baseUrlServices}api/ServiceProviders/ServiceItemCopy_Create";

  //Branch Users
  static String getAllProviderDealers = "${baseUrlServices}api/ServiceProviders/DealershipUserBranchWise_Get";
  static String getBranchUser = "${baseUrlServices}api/ServiceProviders/BranchUser_Get";
  static String assignDealerToBranch = "${baseUrlServices}api/ServiceProviders/BranchUser_Create";
  static String removeDealerFromBranch = "${baseUrlServices}api/ServiceProviders/BranchUser_Update";

  //Master & Common
  static String getEnumTypeValues = "${baseUrlServices}api/Common/GetEnumTypeValues";

  //Requests
  static String createRequest = "${baseUrlServices}api/RequestManagement/Request_Create";
  static String getRequest = "${baseUrlServices}api/RequestManagement/Request_Get";
  static String getRequestOffers = "${baseUrlServices}api/RequestManagement/ReqOffer_Get";
  static String updateRequestOfferStatus = "${baseUrlServices}api/RequestManagement/RequestOffer_UpdateStatus";
  static String updateRequestOffer = "${baseUrlServices}api/RequestManagement/ReqOffer_Update";
  static String updateRequestCustomer = "${baseUrlServices}api/RequestManagement/Request_StatusUpdate_Customer";
  static String updateRequestProvider = "${baseUrlServices}api/RequestManagement/Request_StatusUpdate_Provider";
  static String requestOffersSpsGet = "${baseUrlServices}api/RequestManagement/Request_OfferSPs_Get";
  static String getServiceRequestsForProvider = "${baseUrlServices}api/RequestManagement/Request_ServiceProvider";

  //Shipping
  static String shippingRequestStatusUpdate = "${baseUrlServices}api/RequestManagement/ShippingRequestStatus_Update";
  static String shippingRequestStatusGet = "${baseUrlServices}api/RequestManagement/ShippingRequestStatus_Get";

  //Chat
  static String chatHubUrl = "$baseUrlServices/McHub";
  static String messageIsReadUpdateForRequests = "${baseUrlServices}api/RequestManagement/ReqOfferChatIsRead_Update";
  static String messageIsReadUpdateForAds = "${baseUrlServices}api/Advertisement/AdsChatIsRead_Update";
  static String getChatMessagesForRequests = "${baseUrlServices}api/RequestManagement/ReqOfferChat_Get";
  static String getChatMessagesForAds = "${baseUrlServices}api/Advertisement/AdsChat_Get";
  static String getChatBuyersForAds = "${baseUrlServices}api/Advertisement/AdsChatBuyer_Get";

  //Settings Options
  static String getAllFAQs = "${baseUrlServices}api/Common/FAQ_Get";
  static String createAppInvitation = "${baseUrlServices}api/Common/AppInvitation_Create";
  static String getContactInfo = "${baseUrlServices}api/Master/ContactInfo_Get";
  static String getAppInfo = "${baseUrlServices}api/Master/AppInfo_Get";
  static String getTermsAndConditions = "${baseUrlServices}api/Master/TermAndCondition_Get";

  static List<String> closingUrls = ["PayFortResponse"];
}

class GlobalConsts {
  static String appNameCustomer = "MOWATER Customer";
  static String appNameProvider = "MOWATER Provider";

  //Android
  static String appPackageNameCustomerAndroid = "com.cloud.solutions.mowater.ksa.customer";
  static String appPackageNameProviderAndroid = "com.cloud.solutions.mowater.ksa.provider";
  static String appPlayStoreLinkCustomerAndroid = "https://play.google.com/store/apps/details?id=$appPackageNameCustomerAndroid";
  static String appPlayStoreLinkProviderAndroid = "https://play.google.com/store/apps/details?id=$appPackageNameProviderAndroid";

  //IOS
  static String appIDCustomerIOS = "";
  static String appIDProviderIOS = "";
  static String appAppStoreStoreLinkCustomerIos = "https://apps.apple.com/us/app/$appIDCustomerIOS";
  static String appAppStoreStoreLinkProviderIos = "https://apps.apple.com/us/app/$appIDProviderIOS";

  static String isRememberMe = "remember_me";
  static String email = "email";
  static String password = "password";
  static String bookmark = "bookmark";
  static String fontZoomSize = "font_zoom_size";
  static String welcomeVideoUrl = "welcomeVideoUrl";
  static String doNotShowWelcomeVideo = "doNotShowWelcomeVideo";
  static String demandAmountError = "Amount Cannot be Empty";
  static String reservationCancelError = "Cancellation Reason Cannot be Empty";
  static String descriptionError = "Description should be more than 5 letters.";
  static String acceptingThisOffer = "I am accepting this offer.";
  static String vehicleVinError = "Vehicle VIN Cannot be Empty";
  static String vehicleTitleError = "Vehicle Title Cannot be Empty";
  static String warrantyError = "Warranty Duration Cannot be Empty";
  static String vehicleDescError = "Vehicle Description Cannot be Empty";
  static String attachImageError = "You must add at least 3 images";
  static String attachDamagePartImage = "Please add part image";
  static String adDurationDateError = "Ad Duration start date cannot be empty";
  static String adDurationPhoneNumberError = "Phone number cannot be empty";
  static String adReservablePriceErrorConst = "Ad Reservable price cannot be empty";
  static String homeLocationEmptyError = "Home location cannot be empty";
  static String fillAllFields = "Please fill out all the fields.";
  static String requestTypeCannotBeEmpty = "Request type cannot be empty.";
  static String reserveAdPriceInfo =
      "Some dummy description to explain the following concept. This price will be for 24 hours and if a user cancels the reservations before 24 hours then the amount will be automatically refunded to the buyer.";
  static String appInvitationMessageEn = "🚗 Hey , check out MOWATER to book car services, buy/sell vehicles, and more—join here! [Invite Link]";

  static String getAppInvitationLink() {
    String appInvitationMessageEn = "";

    if (Platform.isAndroid) {
      if (AppState().currentAppType == AppType.customer) {
        appInvitationMessageEn = "🚗 Hey , check out $appNameCustomer to book car services, buy/sell vehicles, and more—join here! \n\n $appPlayStoreLinkCustomerAndroid";
      } else {
        appInvitationMessageEn = "🚗 Hey , check out $appNameProvider to book car services, buy/sell vehicles, and more—join here! \n\n $appPlayStoreLinkProviderAndroid";
      }
    } else if (Platform.isIOS) {
      if (AppState().currentAppType == AppType.customer) {
        appInvitationMessageEn = "🚗 Hey , check out $appNameCustomer to book car services, buy/sell vehicles, and more—join here! \n\n $appPlayStoreLinkCustomerAndroid";
      } else {
        appInvitationMessageEn = "🚗 Hey , check out $appNameProvider to book car services, buy/sell vehicles, and more—join here! \n\n $appPlayStoreLinkProviderAndroid";
      }
    }
    return appInvitationMessageEn;
  }
}

class MyAssets {
  static const String assetPath = "packages/mc_common_app/assets/";

  //JPEG
  static String bnCar = "${assetPath}images/bn_car.jpeg";
  static String carBanner = "${assetPath}images/bn_car.jpeg";

  //SVG
  static String homeIcon = "${assetPath}icons/home_icon.svg";
  static String announcementIcon = "${assetPath}icons/anouncement_icon.svg";
  static String dashboardDrawerIcon = "${assetPath}icons/drawer_icon.svg";
  static String closeIcon = "${assetPath}icons/close_icon.svg";
  static String appointmentsIcon = "${assetPath}icons/appointments_icon.svg";
  static String providersIcon = "${assetPath}icons/providers_icon.svg";
  static String miniClock = "${assetPath}icons/mini_clock.svg";
  static String nextIcon = "${assetPath}icons/next_icon.svg";
  static String settingsIcon = "${assetPath}icons/settings_icon.svg";
  static String branchesIcon = "${assetPath}icons/branches_icon.svg";
  static String icAds = "${assetPath}icons/ic_ads.svg";
  static String icAppointments = "${assetPath}icons/ic_appointments.svg";
  static String icBranches = "${assetPath}icons/ic_branches.svg";
  static String icCloseAccount = "${assetPath}icons/ic_close_account.svg";
  static String icFace = "${assetPath}icons/ic_face.svg";
  static String icFingerprintSvg = "${assetPath}icons/ic_fingerprint.svg";
  static String icHome = "${assetPath}icons/ic_home.svg";
  static String icProvider = "${assetPath}icons/ic_provider.svg";
  static String icRequests = "${assetPath}icons/ic_requests.svg";
  static String icServices = "${assetPath}icons/ic_services.svg";
  static String icSettings = "${assetPath}icons/ic_settings.svg";
  static String icSmsSvg = "${assetPath}icons/ic_sms.svg";
  static String icWhatsAppSvg = "${assetPath}icons/ic_whatsapp.svg";
  static String maintenanceIcon = "${assetPath}icons/maintenance_icon.svg";
  static String modificationsIcon = "${assetPath}icons/modifications_icon.svg";
  static String notificationsBellIcon = "${assetPath}icons/notification_bell.svg";
  static String requestsIcon = "${assetPath}icons/requests_icon.svg";
  static String starIcon = "${assetPath}icons/star_icon.svg";
  static String bcIntro = "${assetPath}images/bc_intro.svg";
  static String bnLogo = "${assetPath}images/bn_logo.svg";
  static String icCar = "${assetPath}images/ic_car.svg";
  static String icEdit = "${assetPath}icons/ic_edit.svg";
  static String icEmail = "${assetPath}icons/ic_email.svg";
  static String icLock = "${assetPath}images/ic_lock.svg";
  static String icLogout = "${assetPath}images/ic_logout.svg";
  static String icMobile = "${assetPath}images/ic_mobile.svg";
  static String icNotes = "${assetPath}images/ic_notes.svg";
  static String icNotification = "${assetPath}images/ic_notification.svg";
  static String logo = "${assetPath}images/logo.svg";
  static String splashLogo = "${assetPath}images/splash_logo.svg";
  static String searchIcon = "${assetPath}icons/search_icon.svg";
  static String miniClockDark = "${assetPath}icons/mini_clock_dark.svg";
  static String scheduleAppointmentIcon = "${assetPath}icons/schedule_appointment_icon.svg";
  static String creditCardIcon = "${assetPath}icons/credit_card_icon.svg";
  static String reservedConeIcon = "${assetPath}icons/reserved_cone_icon.svg";
  static String attachmentIcon = "${assetPath}icons/attachment_icon.svg";
  static String carIcon = "${assetPath}icons/car_icon.svg";
  static String clockIcon = "${assetPath}icons/clock_icon.svg";
  static String closeWithOrangeBg = "${assetPath}icons/close_with_orange_bg.svg";
  static String reviewIcon = "${assetPath}icons/review_icon.svg";
  static String carHitIcon = "${assetPath}icons/car_hit_icon.svg";

  static String icGroupStar = "${assetPath}icons/ic_group_star.svg";
  static String icPassword = "${assetPath}icons/ic_password.svg";
  static String icPhoneNumber = "${assetPath}icons/ic_phone_number.svg";
  static String icStar = "${assetPath}icons/ic_star.svg";

  static String vehicleTypeBuggy = "${assetPath}icons/vehicle_type_buggy.svg";
  static String vehicleTypeCar = "${assetPath}icons/vehicle_type_car.svg";
  static String vehicleTypeGolfCart = "${assetPath}icons/vehicle_type_golf_cart.svg";
  static String vehicleTypeMotorcycle = "${assetPath}icons/vehicle_type_motorcycle.svg";

  //PNG
  static String icWorldPng = "${assetPath}images/ic_world.png";
  static String bnIntroPng = "${assetPath}images/bn_Intro.png";
  static String icLogoWhitePng = "${assetPath}images/ic_logo_white.png";
  static String icEnginePng = "${assetPath}images/ic_engine.png";
  static String bnMapPng = "${assetPath}images/bn_map.png";
  static String icWhatsAppPng = "${assetPath}icons/ic_whatsapp.png";
  static String icSmsPng = "${assetPath}icons/ic_sms.png";
  static String icFingerprintPng = "${assetPath}icons/ic_fingerprint.png";
  static String icRightUpPng = "${assetPath}icons/ic_right_up.png";

  static String applePayPng = "${assetPath}icons/payments/apple_pay.png";
  static String installmentsPng = "${assetPath}icons/payments/installments.png";
  static String madaPng = "${assetPath}icons/payments/mada.png";
  static String mastercardPng = "${assetPath}icons/payments/mastercard.png";
  static String tamaraArPng = "${assetPath}icons/payments/tamara_ar.png";
  static String tamaraEngPng = "${assetPath}icons/payments/tamara_en.png";
  static String visaPng = "${assetPath}icons/payments/visa.png";

  static String whatsAppIcon = "${assetPath}icons/whatsapp_icon.svg";
  static const String arrowRight = "${assetPath}icons/ic_arrow_right.svg";
  static const String brokenImage = "${assetPath}images/broken_image.png";
}

RegExp numReg = RegExp(r".*[0-9].*");
RegExp letterReg = RegExp(r".*[A-Za-z].*");

class MyLocales {
  static const List<Locale> supportedLocales = [Locale('ar', 'SA'), Locale('en', 'US')];

  static const Locale startLocale = Locale('en', 'US');
  static const Locale fallBackLocale = Locale('en', 'US');
  static const CodegenLoader assetLoader = CodegenLoader();
  static String localesAssetPath = "${MyAssets.assetPath}langs";
}

class MyFonts {
  static const poppinsFont = 'packages/mc_common_app/Poppins';
  static const gessTwoFont = 'packages/mc_common_app/GessTwo';

  static const FontWeight Thin = FontWeight.w100;
  static const FontWeight ExtraLight = FontWeight.w200;
  static const FontWeight Light = FontWeight.w300;
  static const FontWeight Regular = FontWeight.w400;
  static const FontWeight Medium = FontWeight.w500;
  static const FontWeight SemiBold = FontWeight.w600;
  static const FontWeight Bold = FontWeight.w700;
  static const FontWeight ExtraBold = FontWeight.w800;
  static const FontWeight Black = FontWeight.w900;
  static const FontWeight ItalicRegular = FontWeight.w400;
  static const FontWeight ItalicMedium = FontWeight.w500;
  static const FontWeight ItalicSemiBold = FontWeight.w600;
  static const FontWeight ItalicBold = FontWeight.w700;
  static const FontWeight ItalicExtraBold = FontWeight.w800;
  static const FontWeight ItalicBlack = FontWeight.w900;
}

class SignalrConsts {
  // Requests
  static String receiveMessageRequestOffer = "ReceiveMessageRequestOffer";
  static String sendMessageRequestOffer = "SendMessageRequestOffer";

  // Ads
  static String sendMessageAds = "SendMessageAds";
  static String receiveMessageAds = "ReceiveMessageAds";

  // General
  static String sendMessageGeneral = "SendMessageGeneral";
  static String receiveMessageGeneral = "ReceiveMessageGeneral";
}
