import 'package:siro_rider/constant/box_name.dart';
import 'package:siro_rider/main.dart';

class AppLink {
  static const String appDomain = 'siromove.com';

  static String get inviteRedirectUrl {
    if (currentCountry == 'Syria') {
      return "https://siromove.com/inviteSyria.php";
    }
    return "https://siromove.com/invite.php";
  }

  static String get currentCountry => box.read(BoxName.countryCode) ?? 'Jordan';

  static String get paymentServer {
    switch (currentCountry) {
      case 'Syria': return 'https://wallet-syria.siromove.com/v1/main';
      case 'Egypt': return 'https://wallet-egypt.siromove.com/v1/main';
      case 'Jordan': return 'https://wallet-jordan.siromove.com/v1/main';
      default: return 'https://wallet.siromove.com/v1/main';
    }
  }

  static String get location {
    switch (currentCountry) {
      case 'Syria': return 'https://api-syria.siromove.com/siro_v3/ride/location';
      case 'Egypt': return 'https://api-egypt.siromove.com/siro_v3/ride/location';
      case 'Jordan': return 'https://api-jordan.siromove.com/siro_v3/ride/location';
      default: return 'https://api.siromove.com/siro_v3/ride/location';
    }
  }

  static String get locationServerSide {
    switch (currentCountry) {
      case 'Syria': return 'https://location-syria.siromove.com/siro/ride/location';
      case 'Egypt': return 'https://location-egypt.siromove.com/siro/ride/location';
      case 'Jordan': return 'https://location-jordan.siromove.com/siro/ride/location';
      default: return 'https://location.siromove.com/siro/ride/location';
    }
  }

  static String get routesOsm {
    switch (currentCountry) {
      case 'Syria': return 'https://routes-syria.siromove.com';
      case 'Egypt': return 'https://routes-egypt.siromove.com';
      case 'Jordan': return 'https://routes-jordan.siromove.com';
      default: return 'https://routes.siromove.com';
    }
  }

  static String get mapSaasRoute {
    switch (currentCountry) {
      case 'Syria': return 'https://map-syria.siromove.com/api/maps/route';
      case 'Egypt': return 'https://map-egypt.siromove.com/api/maps/route';
      case 'Jordan': return 'https://map-jordan.siromove.com/api/maps/route';
      default: return 'https://map-saas.intaleqapp.com/api/maps/route';
    }
  }

  static String get reverseGeocoding {
    switch (currentCountry) {
      case 'Syria': return 'https://map-syria.siromove.com/api/geocoding/reverse';
      case 'Egypt': return 'https://map-egypt.siromove.com/api/geocoding/reverse';
      case 'Jordan': return 'https://map-jordan.siromove.com/api/geocoding/reverse';
      default: return 'https://map-saas.intaleqapp.com/api/geocoding/reverse';
    }
  }

  static String get searchGeocoding {
    switch (currentCountry) {
      case 'Syria': return 'https://map-syria.siromove.com/api/geocoding/search';
      case 'Egypt': return 'https://map-egypt.siromove.com/api/geocoding/search';
      case 'Jordan': return 'https://map-jordan.siromove.com/api/geocoding/search';
      default: return 'https://map-saas.intaleqapp.com/api/geocoding/search';
    }
  }

  static String get mapSaasPlaces {
    switch (currentCountry) {
      case 'Syria': return 'https://map-syria.siromove.com/api/geocoding/places';
      case 'Egypt': return 'https://map-egypt.siromove.com/api/geocoding/places';
      case 'Jordan': return 'https://map-jordan.siromove.com/api/geocoding/places';
      default: return 'https://map-saas.intaleqapp.com/api/geocoding/places';
    }
  }

  static String get endPoint => server;

  static String get rideServerSide {
    switch (currentCountry) {
      case 'Syria': return 'https://ride-syria.siromove.com/siro';
      case 'Egypt': return 'https://ride-egypt.siromove.com/siro';
      case 'Jordan':
      default: return 'https://ride-jordan.siromove.com/siro';
    }
  }

  static String get server {
    switch (currentCountry) {
      case 'Syria': return 'https://api-syria.siromove.com/siro_v3';
      case 'Egypt': return 'https://api-egypt.siromove.com/siro_v3';
      case 'Jordan': return 'https://api-jordan.siromove.com/siro_v3';
      default: return 'https://api.siromove.com/siro_v3';
    }
  }

  static String get serverSocket {
    switch (currentCountry) {
      case 'Syria': return 'https://api-syria.siromove.com';
      case 'Egypt': return 'https://api-egypt.siromove.com';
      case 'Jordan': return 'https://api-jordan.siromove.com';
      default: return 'https://api.siromove.com';
    }
  }

  ///
static String get googleMapsLink => 'https://maps.googleapis.com/maps/api/';

  /// here map link for searching for places
static String get searcMaps =>
      'https://autosuggest.search.hereapi.com/v1/autosuggest';

static String get test => "$server/test.php";
  //===============firebase==========================
static String get getTokens => "$server/ride/firebase/getTokensPassenger.php";
static String get getTokenParent => "$server/ride/firebase/getTokenParent.php";
static String get addTokens => "$server/ride/firebase/add.php";
static String get addFingerPrint => "$paymentServer/ride/firebase/add.php";
static String get addTokensDriver => "$server/ride/firebase/addDriver.php";
static String get packageInfo => "$server/auth/packageInfo.php";

  //=======================Wallet===================
static String get wallet => '$paymentServer/ride/passengerWallet';
static String get walletDriver => '$paymentServer/ride/driverWallet';
static String get getAllPassengerTransaction =>
      "$wallet/getAllPassengerTransaction.php";
static String get getWalletByPassenger => "$wallet/getWalletByPassenger.php";
static String get getPassengersWallet => "$wallet/get.php";
static String get payWithPayMobWalletPasenger =>
      '$paymentServer/ride/payMob/wallet/payWithPayMob.php';
static String get payWithPayMobCardPassenger =>
      '$paymentServer/ride/payMob/payWithPayMob.php';
static String get payWithEcash => "$paymentServer/ecash/payWithEcash.php";

static String get paymetVerifyPassenger =>
      "$paymentServer/ride/payMob/paymet_verfy.php";
static String get getPassengerWalletArchive =>
      "$wallet/getPassengerWalletArchive.php";

static String get addDrivePayment => "$paymentServer/ride/payment/add.php";
static String get addSeferWallet => "$paymentServer/ride/seferWallet/add.php";
static String get addPassengersWallet => "$wallet/add.php";
static String get deletePassengersWallet => "$wallet/delete.php";
static String get updatePassengersWallet => "$wallet/update.php";

static String get getWalletByDriver => "$walletDriver/getWalletByDriver.php";
static String get getDriversWallet => "$walletDriver/get.php";
static String get addDriversWalletPoints => "$walletDriver/add.php";
static String get deleteDriversWallet => "$walletDriver/delete.php";
static String get updateDriversWallet => "$walletDriver/update.php";

  //=======================promo===================ride.mobile-app.store/ride/promo/get.php
static String get promo => '$server/ride/promo';
static String get getPassengersPromo => "$promo/get.php";
static String get getPromoFirst => "$promo/getPromoFirst.php";
static String get getPromoBytody => "$promo/getPromoBytody.php";
static String get addPassengersPromo => "$promo/add.php";
static String get deletePassengersPromo => "$promo/delete.php";
static String get updatePassengersPromo => "$promo/update.php";

  //===============contact==========================
static String get savePhones => "$server/ride/egyptPhones/add.php";
static String get getPhones => "$server/ride/egyptPhones/get.php";

  ////=======================cancelRide===================
  // static String ride = '$server/ride';
static String get addCancelRideFromPassenger =>
      "$rideServerSide/cancelRide/add.php";
static String get cancelRide => "$rideServerSide/cancelRide/get.php";
//-----------------ridessss------------------
static String get addRides => "$rideServerSide/ride/rides/add.php";
static String get getRides => "$rideServerSide/ride/rides/get.php";
static String get getRideOrderID =>
      "$rideServerSide/ride/rides/getRideOrderID.php";
static String get getRideStatus => "$rideServerSide/ride/rides/getRideStatus.php";
static String get getRideStatusBegin =>
      "$rideServerSide/ride/rides/getRideStatusBegin.php";
static String get getRideStatusFromStartApp =>
      "$server/ride/rides/getRideStatusFromStartApp.php";
static String get updateRides => "$rideServerSide/ride/rides/update.php";
static String get updateStausFromSpeed =>
      "$rideServerSide/ride/rides/updateStausFromSpeed.php";
static String get deleteRides => "$rideServerSide/ride/rides/delete.php";

//-----------------DriverPayment------------------
static String get adddriverScam => "$server/driver_scam/add.php";
static String get getdriverScam => "$server/ride/driver_scam/get.php";

/////////---getKazanPercent===////////////
static String get getKazanPercent => "$server/ride/kazan/get.php";
static String get addKazanPercent => "$server/ride/kazan/add.php";

////-----------------DriverPayment------------------
static String get addDriverpayment => "$paymentServer/ride/payment/add.php";
static String get addDriverPaymentPoints =>
      "$paymentServer/ride/driverPayment/add.php";
static String get addPaymentTokenPassenger =>
      "$paymentServer/ride/passengerWallet/addPaymentTokenPassenger.php";
static String get addPaymentTokenDriver =>
      "$paymentServer/ride/driverWallet/addPaymentToken.php";
static String get getDriverPaymentPoints =>
      "$paymentServer/ride/driverWallet/get.php";
static String get payWithEcashPassenger =>
      "$paymentServer/ride/ecash/passenger/payWithEcash.php";
static String get payWithMTNConfirm =>
      "$paymentServer/ride/mtn/passenger/mtn_confirm.php";
static String get payWithMTNStart =>
      "$paymentServer/ride/mtn/passenger/mtn_start.php";
static String get payWithSyriatelConfirm =>
      "$paymentServer/ride/syriatel/passenger/confirm_payment.php";
static String get payWithSyriatelStart =>
      "$paymentServer/ride/syriatel/passenger/start_payment.php";
static String get getDriverpaymentToday => "$paymentServer/ride/payment/get.php";
static String get getCountRide => "$paymentServer/ride/payment/getCountRide.php";
static String get getAllPaymentFromRide =>
      "$paymentServer/ride/payment/getAllPayment.php";
static String get getAllPaymentVisa =>
      "$paymentServer/ride/payment/getAllPaymentVisa.php";
static String get createMtnInvoice =>
      "$paymentServer/ride/mtn_new/create_mtn_invoice.php";
static String get createCliqInvoice =>
      "$paymentServer/ride/cliq/create_cliq_invoice.php";

static String get checkMtnStatus => "$paymentServer/ride/mtn_new/check_status.php";
static String get checkCliqStatus => "$paymentServer/ride/cliq/check_status.php";
static String get uploadMtnProof => "$paymentServer/ride/mtn_new/verify_payment_ai.php";
static String get uploadCliqProof => "$paymentServer/ride/cliq/verify_payment_ai.php";

//-----------------Passenger NotificationCaptain------------------
static String get addNotificationPassenger =>
      "$server/ride/notificationPassenger/add.php";
static String get getNotificationPassenger =>
      "$server/ride/notificationPassenger/get.php";
static String get updateNotificationPassenger =>
      "$server/ride/notificationPassenger/update.php";
//-----------------Driver NotificationCaptain------------------
static String get addNotificationCaptain =>
      "$server/ride/notificationCaptain/add.php";
static String get addWaitingRide =>
      "$server/ride/notificationCaptain/addWaitingRide.php";
static String get updateWaitingTrip =>
      "$server/ride/notificationCaptain/updateWaitingTrip.php";
static String get getRideWaiting =>
      "$endPoint/ride/notificationCaptain/getRideWaiting.php";
static String get getNotificationCaptain =>
      "$server/ride/notificationCaptain/get.php";
static String get updateNotificationCaptain =>
      "$server/ride/notificationCaptain/update.php";
static String get deleteNotificationCaptain =>
      "$server/ride/notificationCaptain/delete.php";
  //-----------------invitor------------------
static String get getUnifiedCode => "$server/ride/invitor/get_unified_code.php";
static String get addUnifiedInvite => "$server/ride/invitor/add_unified_invite.php";
static String get getPassengerReferrals => "$server/ride/invitor/get_passenger_referrals.php";
static String get addInviteDriver => "$server/ride/invitor/add.php";
static String get addInvitationPassenger =>
      "$server/ride/invitor/addInvitationPassenger.php";
static String get getInviteDriver => "$server/ride/invitor/get.php";
static String get getDriverInvitationToPassengers =>
      "$server/ride/invitor/getDriverInvitationToPassengers.php";
static String get updateInviteDriver => "$server/ride/invitor/update.php";
static String get updatePassengerGift =>
      "$server/ride/invitor/updatePassengerGift.php";
static String get claimInviteReward => "$server/ride/invitor/claim.php";
  //-----------------Api Key------------------
static String get addApiKey => "$server/ride/apiKey/add.php";
static String get getApiKey => "$server/ride/apiKey/get.php";
static String get getCnMap => "$server/auth/cnMap.php";
static String get updateApiKey => "$server/ride/apiKey/update.php";
static String get deleteApiKey => "$server/ride/apiKey/delete.php";
static String get getPlacesSyria => "$server/ride/places_syria/get.php";

//-----------------Feed Back------------------
static String get addFeedBack => "$server/ride/feedBack/add.php";
static String get add_solve_all => "$server/ride/feedBack/add_solve_all.php";
static String get uploadAudio => "$server/ride/feedBack/upload_audio.php";
static String get getFeedBack => "$server/ride/feedBack/get.php";
static String get updateFeedBack => "$server/ride/feedBack/updateFeedBack.php";

  //-----------------Tips------------------
static String get addTips => "$server/ride/tips/add.php";
static String get getTips => "$server/ride/tips/get.php";
static String get updateTips => "$server/ride/tips/update.php";

//-----------------Help Center------------------
static String get addhelpCenter => "$server/ride/helpCenter/add.php";
static String get gethelpCenter => "$server/ride/helpCenter/get.php";
static String get getByIdhelpCenter => "$server/ride/helpCenter/getById.php";
static String get updatehelpCenter => "$server/ride/helpCenter/update.php";
static String get deletehelpCenter => "$server/ride/helpCenter/delete.php";

  //-----------------license------------------
static String get addLicense => "$server/ride/license/add.php";
static String get getLicense => "$server/ride/license/get.php";
static String get updateLicense => "$server/ride/license/updateFeedBack.php";
//-----------------RegisrationCar------------------
static String get addRegisrationCar => "$server/ride/RegisrationCar/add.php";
static String get getRegisrationCar =>
      "${box.read(BoxName.serverChosen)}/server/ride/RegisrationCar/get.php";
static String get selectDriverAndCarForMishwariTrip =>
      "$server/ride/RegisrationCar/selectDriverAndCarForMishwariTrip.php";
static String get updateRegisrationCar => "$server/ride/RegisrationCar/update.php";

//-----------------mishwari------------------

static String get addMishwari => "$server/ride/mishwari/add.php";
static String get cancelMishwari => "$server/ride/mishwari/cancel.php";
static String get getMishwari => "$server/ride/mishwari/get.php";
static String get sendChatMessage => "$server/ride/chat/send_message.php";

//-----------------DriverOrder------------------

static String get addDriverOrder => "$server/ride/driver_order/add.php";
static String get getDriverOrder => "$server/ride/driver_order/get.php";
static String get getOrderCancelStatus =>
      "$server/ride/driver_order/getOrderCancelStatus.php";
static String get updateDriverOrder => "$server/ride/driver_order/update.php";
static String get deleteDriverOrder => "$server/ride/driver_order/delete.php";

  // =====================================
static String get addRateToPassenger => "$server/ride/rate/add.php";
  static String get savePlacesServer => "$server/ride/places/add.php";
  static String get getapiKey => "$server/ride/apiKey/get.php";
  
  // Endpoint لجلب التسعيرة من السيرفر (Server-Side Pricing)
  static String get getPrices => "$server/ride/pricing/get.php";
  
  static String get addRateToDriver => "$server/ride/rate/addRateToDriver.php";
static String get getDriverRate => "$server/ride/rate/getDriverRate.php";
static String get getPassengerRate => "$server/ride/rate/getPassengerRate.php";

  ////////////////emails ============//
static String get sendEmailToPassengerForTripDetails =>
      "$server/ride/rides/emailToPassengerTripDetail.php";

// ===========================================
static String get pathImage => "$server/upload/types/";
static String get uploadImage => "$server/uploadImage.php";
static String get uploadImage1 => "$server/uploadImage1.php";
static String get uploadImagePortrate => "$server/uploadImagePortrate.php";
static String get uploadImageType => "$server/uploadImageType.php";
//=============egypt documents ==============
static String get uploadEgyptidFront =>
      "$server/EgyptDocuments/uploadEgyptidFront.php";
static String get uploadEgypt => "$server/uploadEgypt.php";

  //==================certifcate==========
  // static String location = '${box.read(BoxName.serverChosen)}/ride/location';
static String get getCarsLocationByPassenger => "$location/get.php";

static String get getLocationAreaLinks =>
      '$server/ride/location/get_location_area_links.php';
static String get addpassengerLocation =>
      "$locationServerSide/addpassengerLocation.php";
static String get getCarsLocationByPassengerSpeed => "$location/getSpeed.php";
static String get getCarsLocationByPassengerComfort => "$location/getComfort.php";
static String get getCarsLocationByPassengerBalash => "$location/getBalash.php";
static String get getCarsLocationByPassengerElectric =>
      "$location/getElectric.php";
static String get getCarsLocationByPassengerPinkBike =>
      "$location/getPinkBike.php";
static String get getCarsLocationByPassengerVan =>
      "$location/getCarsLocationByPassengerVan.php";
static String get getCarsLocationByPassengerDelivery =>
      "$location/getDelivery.php";
static String get getLocationParents => "$location/getLocationParents.php";
static String get getFemalDriverLocationByPassenger =>
      "$location/getFemalDriver.php";
static String get getDriverCarsLocationToPassengerAfterApplied =>
      "$location/getDriverCarsLocationToPassengerAfterApplied.php";
//   static String addCarsLocationByPassenger = "$location/add.php";
//   static String deleteCarsLocationByPassenger = "$location/delete.php";
//   static String updateCarsLocationByPassenger = "$location/update.php";
//   static String getTotalDriverDuration = "$location/getTotalDriverDuration.php";
//   static String getTotalDriverDurationToday =
  //   "$location/getTotalDriverDurationToday.php";

  //==================Blog=============
static String get profile => '$server/ride/profile';
static String get getprofile => "$profile/get.php";
static String get getCaptainProfile => "$profile/getCaptainProfile.php";
static String get addprofile => "$profile/add.php";
static String get deleteprofile => "$profile/delete.php";
static String get updateprofile => "$profile/update.php";

  //===================Auth============

static String get auth => '$server/auth';
static String get login => "$auth/login.php";
static String get loginJwtRider => "$server/login.php";
static String get loginJwtWalletRider => "$server/loginWallet.php";
static String get loginFirstTime => "$server/loginFirstTime.php";
static String get getTesterApp => "$auth/Tester/getTesterApp.php";
static String get updateTesterApp => "$auth/Tester/updateTesterApp.php";
static String get signUp => "$auth/signup.php";
static String get savePassengerLocation => "$auth/save_passenger_location.php";
static String get sendVerifyEmail => "$auth/sendVerifyEmail.php";
static String get loginFromGooglePassenger => "$auth/loginFromGooglePassenger.php";
static String get loginUsingCredentialsWithoutGooglePassenger => "$auth/loginUsingCredentialsWithoutGooglePassenger.php";
static String get checkPhoneNumberISVerfiedPassenger =>
      "$auth/checkPhoneNumberISVerfiedPassenger.php";

static String get passengerRemovedAccountEmail =>
      "$auth/passengerRemovedAccountEmail.php";
static String get verifyEmail => "$auth/verifyEmail.php";
//===================Auth Captin============
static String get authCaptin => '$server/auth/captin';
static String get loginCaptin => "$authCaptin/login.php";
static String get loginFromGoogleCaptin => "$authCaptin/loginFromGoogle.php";
static String get signUpCaptin => "$authCaptin/register.php";
static String get sendVerifyEmailCaptin => "$authCaptin/sendVerifyEmail.php";
static String get sendVerifyOtpMessage => "$server/auth/otp/request.php";
static String get verifyOtpMessage => "$server/auth/otp/verify.php";
static String get verifyEmailCaptin => "$authCaptin/verifyEmail.php";
static String get removeUser => "$authCaptin/removeAccount.php";
static String get deletecaptainAccounr => "$authCaptin/deletecaptainAccounr.php";
static String get updateAccountBank => "$authCaptin/updateAccountBank.php";
static String get getAccount => "$authCaptin/getAccount.php";
static String get updatePassengersInvitation =>
      "$server/ride/invitor/updatePassengersInvitation.php";
static String get updateDriverInvitationDirectly =>
      "$server/ride/invitor/updateDriverInvitationDirectly.php";
  //===================Admin Captin============

static String get getPassengerDetailsByPassengerID =>
      "$server/Admin/getPassengerDetailsByPassengerID.php";
static String get getPassengerDetails => "$server/Admin/getPassengerDetails.php";
static String get getPassengerbyEmail => "$server/Admin/getPassengerbyEmail.php";
static String get addAdminUser => "$server/Admin/adminUser/add.php";
static String get getAdminUser => "$server/Admin/adminUser/get.php";
static String get addError => "$server/Admin/errorApp.php";
static String get getCaptainDetailsByEmailOrIDOrPhone =>
      "$server/Admin/AdminCaptain/getCaptainDetailsByEmailOrIDOrPhone.php";
static String get getCaptainDetails => "$server/Admin/AdminCaptain/get.php";
static String get getRidesPerMonth =>
      "$server/Admin/AdminRide/getRidesPerMonth.php";
static String get getRidesDetails => "$server/Admin/AdminRide/get.php";

//////////Sms egypt///////////
static String get sendSms => "https://sms.kazumi.me/api/sms/send-sms";
  static String get sendSmsFromPHP =>
      '$server/auth/otp/request.php';
  static String get verifyOtpPassenger =>
      '$server/auth/otp/verify.php';
static String get senddlr => "https://sms.kazumi.me/api/sms/send-dlr";
static String get sendvalidity => "https://sms.kazumi.me/api/sms/send-validity";
static String get sendmany => "https://sms.kazumi.me/api/sms/send-many";
static String get checkCredit => "https://sms.kazumi.me/api/sms/check-credit";
static String get getSender => "$server/auth/sms/getSender.php";
static String get checkStatus => "https://sms.kazumi.me/api/sms/check-status";
static String get updatePhoneInvalidSMSPassenger =>
      "$server/auth/sms/updatePhoneInvalidSMSPassenger.php";
}
