import '../env/env.dart';
import '../main.dart';
import 'box_name.dart';

class AppLink {
  // static final String seferPaymentServer = Env.seferPaymentServer;
  // // static final String seferPaymentServer = '${Env.seferCairoServer}/ride';

  static final String seferAlexandriaServer = Env.seferAlexandriaServer;
  static final String seferCairoServer = Env.seferCairoServer;
  static final String seferGizaServer = Env.seferGizaServer;
  static String get currentCountry => box.read('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 locationServer {
    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 location => locationServer;
  static String get locationServerSide => locationServer;

  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 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 routeApiBaseUrl {
    switch (currentCountry) {
      case 'Syria': return 'https://routes-syria.siromove.com/route/v1/driving';
      case 'Egypt': return 'https://routes-egypt.siromove.com/route/v1/driving';
      case 'Jordan': return 'https://routes-jordan.siromove.com/route/v1/driving';
      default: return 'https://routes.siromove.com/route/v1/driving';
    }
  }

  static String get syria => 'https://api-syria.siromove.com/siro';
  
  static String seferPaymentServer0 = box.read('seferPaymentServer');

  static String get endPoint {
    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 rideServer {
    switch (currentCountry) {
      case 'Syria': return 'https://api-syria.siromove.com/siro';
      case 'Egypt': return 'https://api-egypt.siromove.com/siro';
      case 'Jordan': return 'https://api-jordan.siromove.com/siro';
      default: return 'https://api.siromove.com/siro';
    }
  }

  static String get getBestDriver => "$server/Admin/driver/getBestDriver.php";
  static String get server => endPoint;
  static final String jwtService = '$server/jwtService.php';
  static String addError = "$server/Admin/errorApp.php";


  // static final String endPoint = box.read(BoxName.serverChosen);
  // static final String server = Env.seferCairoServer;
  // static const String server = "https://sefer.click/sefer/sefer";
  static String googleMapsLink = 'https://maps.googleapis.com/maps/api/';
  static String llama = 'https://api.llama-api.com/chat/completions';
  static String getTokens = "$server/ride/firebase/get.php";

  static String gemini =
      'https://generativelanguage.googleapis.com/v1beta3/models/text-bison-001:generateText';
  static String uploadEgypt = "$server/uploadEgypt.php";
  static String auth = '$server/auth';
  static String login = "$serviceApp/login.php";
  static String register = "$serviceApp/register.php";

  static String signUp = "$auth/signup.php";
  static String sendVerifyEmail = "$auth/sendVerifyEmail.php";
  static String passengerRemovedAccountEmail =
      "$auth/passengerRemovedAccountEmail.php";
  static String verifyEmail = "$auth/verifyEmail.php";
  static String getPromptDriverDocumentsEgypt =
      "$server/auth/captin/getPromptDriverDocumentsEgypt.php";

//===================Auth Captin============
  static String authCaptin = '$server/auth/captin';
  static String loginCaptin = "$authCaptin/login.php";
  static String signUpCaptin = "$authCaptin/register.php";
  static String sendVerifyEmailCaptin = "$authCaptin/sendVerifyEmail.php";
  static String verifyEmailCaptin = "$authCaptin/verifyEmail.php";
  static String removeUser = "$authCaptin/removeAccount.php";
  static String deletecaptainAccounr = "$authCaptin/deletecaptainAccounr.php";
  static String updateAccountBank = "$authCaptin/updateAccountBank.php";
  static String getAccount = "$authCaptin/getAccount.php";
  static String test = "$server/test.php";
  static String serviceApp = "$server/serviceapp";
  static String getPassengersByPhone = "$serviceApp/getPassengersByPhone.php";
  static String getDriverByPhone = "$serviceApp/getDriverByPhone.php";
  static String getDriverByNational = "$serviceApp/getDriverByNational.php";
  static String updateDriver = "$serviceApp/updateDriver.php";
  static String updateDriverToActive = "$serviceApp/updateDriverToActive.php";
  static String getNewDriverRegister = "$serviceApp/getNewDriverRegister.php";
  static String getDriversPhoneNotComplete =
      "$serviceApp/getDriversPhoneNotComplete.php";
  static String addWelcomeDriverNote = "$serviceApp/addWelcomeDriverNote.php";
  static String getDriverNotCompleteRegistration =
      "$serviceApp/getDriverNotCompleteRegistration.php";
  static String deleteDriverNotCompleteRegistration =
      "$serviceApp/deleteDriverNotCompleteRegistration.php";
  static String getDriversWaitingActive =
      "$serviceApp/getDriversWaitingActive.php";
  static String getPassengersNotCompleteRegistration =
      "$serviceApp/getPassengersNotCompleteRegistration.php";
  static String addNotesDriver = "$serviceApp/addNotesDriver.php";
  static String getDriverDetailsForActivate =
      "$serviceApp/getDriverDetailsForActivate.php";
  static String getCarPlateNotEdit = "$serviceApp/getCarPlateNotEdit.php";
  static String getdriverWithoutCar = "$serviceApp/getdriverWithoutCar.php";
  static String getBestDriverGiza =
      "https://gizasefer.online/sefer/Admin/driver/getBestDriver.php";
  static String getBestDriverAlexandria =
      "$seferAlexandriaServer/Admin/driver/getBestDriver.php";
  static String addNotesPassenger = "$serviceApp/addNotesPassenger.php";
  static String editCarPlate = "$serviceApp/editCarPlate.php";
  static String addDriverWantWork = "$serviceApp/work/addDriverWantWork.php";
  static String addCarWantWork = "$serviceApp/work/addCarWantWork.php";
  static String getComplaintAllData = "$serviceApp/getComplaintAllData.php";
  static String getComplaintAllDataForDriver =
      "$serviceApp/getComplaintAllDataForDriver.php";
  static String addCriminalDocuments = "$authCaptin/addCriminalDocuments.php";
  static String ride = '$server/ride';
  static String addRegisrationCar = "$ride/RegisrationCar/add.php";
  static String addCartoDriver = "$serviceApp/addCartoDriver.php";
  static String getRegisrationCar = "$ride/RegisrationCar/get.php";
  static String updateRegisrationCar = "$ride/RegisrationCar/update.php";
}
