1 line
30 KiB
JavaScript
1 line
30 KiB
JavaScript
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,83480,e=>{"use strict";var a=e.i(43476),t=e.i(71645),i=e.i(94327),l=e.i(56322);let s={name:"",type:"BASIC",chargeType:"PER_DAY",chargeValue:0,isRequired:!1,isActive:!0},n={name:"",type:"SURCHARGE",condition:"AGE_LESS_THAN",conditionValue:25,adjustmentType:"PERCENTAGE",adjustmentValue:0,isActive:!0};e.s(["default",0,function(){let{language:e}=(0,l.useDashboardI18n)(),r={en:{title:"Advanced settings",subtitle:"Manage insurance, additional-driver rules, pricing adjustments, and reporting defaults.",save:"Saving…",saveBrand:"Save brand",brandProfile:"Brand and public profile",brandProfileDesc:"Control how your company appears on the marketplace and public booking site.",payments:"Rental payment methods",paymentsDesc:"Configure how renters pay your company on the public booking site.",savePayments:"Save payments",customDomain:"Custom domain",customDomainDesc:"Point your own domain to the branded booking site.",saveDomain:"Save domain",removeDomain:"Remove custom domain",contractPolicies:"Contract and driver policies",savePolicies:"Save policies",insurancePolicies:"Insurance policies",pricingRules:"Pricing rules",accounting:"Accounting and exports",saveAccounting:"Save accounting",displayName:"Display name",tagline:"Tagline",publicEmail:"Public email",publicPhone:"Public phone",city:"City",country:"Country",websiteUrl:"Website URL",contractLanguage:"Contract language",whatsapp:"WhatsApp number",brandColor:"Brand color",listedMarketplace:"Listed on marketplace",logoUpload:"Logo upload",heroUpload:"Hero image upload",uploading:"Uploading…",logoUploaded:"Logo uploaded",noLogo:"No logo uploaded yet",heroUploaded:"Hero image uploaded",noHero:"No hero image uploaded yet",subdomain:"Subdomain",customDomainLabel:"Custom domain",domainPlaceholder:"cars.example.com",status:"Status",verified:"Verified",pendingDns:"Pending DNS verification",notConfigured:"Not configured",fuelPolicyType:"Fuel policy type",additionalDriverCharge:"Additional driver charge",dailyDriverRate:"Daily driver rate",flatDriverRate:"Flat driver rate",fuelPolicyNote:"Fuel policy note",damagePolicy:"Damage policy",active:"Active",inactive:"Inactive",noInsurance:"No insurance policies configured yet.",policyName:"Policy name",chargeValue:"Charge value",required:"Required",addPolicy:"Add policy",noRules:"No pricing rules configured yet.",ruleName:"Rule name",addRule:"Add rule",reportingPeriod:"Reporting period",reportFormat:"Report format",accountantName:"Accountant name",accountantEmail:"Accountant email",autoSend:"Auto-send reports to the accountant",amanpayMerchantId:"AmanPay merchant ID",amanpaySecretKey:"AmanPay secret key",paypalEmail:"PayPal business email",noPaymentConfigured:"If no payment method is configured, renters can still submit reservation requests and pay on pickup.",fuelPolicyLabels:{FULL_TO_FULL:"Full to full",FULL_TO_EMPTY:"Full to empty",SAME_TO_SAME:"Same to same",PREPAID:"Prepaid",FREE:"Included"},driverChargeLabels:{FREE:"Free",PER_DAY:"Per day",FLAT:"Flat"},reportingPeriodLabels:{WEEKLY:"Weekly",MONTHLY:"Monthly",QUARTERLY:"Quarterly",ANNUAL:"Annual"},reportFormatLabels:{CSV:"CSV",PDF:"PDF",BOTH:"Both"}},fr:{title:"Paramètres avancés",subtitle:"Gérez les assurances, règles conducteurs, ajustements tarifaires et paramètres de reporting.",save:"Enregistrement…",saveBrand:"Enregistrer la marque",brandProfile:"Marque et profil public",brandProfileDesc:"Contrôlez l’affichage de votre entreprise sur la marketplace et le site de réservation.",payments:"Méthodes de paiement location",paymentsDesc:"Configurez comment les clients paient votre entreprise.",savePayments:"Enregistrer les paiements",customDomain:"Domaine personnalisé",customDomainDesc:"Pointez votre propre domaine vers le site de réservation.",saveDomain:"Enregistrer le domaine",removeDomain:"Supprimer le domaine",contractPolicies:"Contrat et politiques conducteur",savePolicies:"Enregistrer les politiques",insurancePolicies:"Polices d’assurance",pricingRules:"Règles tarifaires",accounting:"Comptabilité et exports",saveAccounting:"Enregistrer la comptabilité",displayName:"Nom affiché",tagline:"Slogan",publicEmail:"E-mail public",publicPhone:"Téléphone public",city:"Ville",country:"Pays",websiteUrl:"URL du site",contractLanguage:"Langue du contrat",whatsapp:"Numéro WhatsApp",brandColor:"Couleur de marque",listedMarketplace:"Publié sur la marketplace",logoUpload:"Logo",heroUpload:"Image principale",uploading:"Téléversement…",logoUploaded:"Logo téléversé",noLogo:"Aucun logo téléversé",heroUploaded:"Image principale téléversée",noHero:"Aucune image principale téléversée",subdomain:"Sous-domaine",customDomainLabel:"Domaine personnalisé",domainPlaceholder:"voitures.exemple.com",status:"Statut",verified:"Vérifié",pendingDns:"Vérification DNS en attente",notConfigured:"Non configuré",fuelPolicyType:"Type de politique carburant",additionalDriverCharge:"Supplément conducteur additionnel",dailyDriverRate:"Tarif conducteur/jour",flatDriverRate:"Tarif conducteur fixe",fuelPolicyNote:"Note sur la politique carburant",damagePolicy:"Politique dommages",active:"Actif",inactive:"Inactif",noInsurance:"Aucune police d’assurance configurée.",policyName:"Nom de la police",chargeValue:"Valeur de facturation",required:"Obligatoire",addPolicy:"Ajouter la police",noRules:"Aucune règle tarifaire configurée.",ruleName:"Nom de la règle",addRule:"Ajouter la règle",reportingPeriod:"Période de reporting",reportFormat:"Format de rapport",accountantName:"Nom du comptable",accountantEmail:"E-mail du comptable",autoSend:"Envoyer automatiquement les rapports au comptable",amanpayMerchantId:"ID marchand AmanPay",amanpaySecretKey:"Clé secrète AmanPay",paypalEmail:"Email business PayPal",noPaymentConfigured:"Si aucun moyen de paiement n’est configuré, les clients peuvent envoyer une demande puis payer à la prise du véhicule.",fuelPolicyLabels:{FULL_TO_FULL:"Plein à plein",FULL_TO_EMPTY:"Plein à vide",SAME_TO_SAME:"Même niveau",PREPAID:"Prépayé",FREE:"Inclus"},driverChargeLabels:{FREE:"Gratuit",PER_DAY:"Par jour",FLAT:"Forfait"},reportingPeriodLabels:{WEEKLY:"Hebdomadaire",MONTHLY:"Mensuel",QUARTERLY:"Trimestriel",ANNUAL:"Annuel"},reportFormatLabels:{CSV:"CSV",PDF:"PDF",BOTH:"Les deux"}},ar:{title:"الإعدادات المتقدمة",subtitle:"إدارة التأمين وقواعد السائق الإضافي وتعديلات التسعير وإعدادات التقارير.",save:"جارٍ الحفظ…",saveBrand:"حفظ العلامة",brandProfile:"العلامة والملف العام",brandProfileDesc:"تحكم في ظهور شركتك في السوق وموقع الحجز العام.",payments:"طرق دفع الإيجار",paymentsDesc:"تهيئة طريقة دفع العملاء لشركتك في موقع الحجز.",savePayments:"حفظ الدفع",customDomain:"نطاق مخصص",customDomainDesc:"ربط نطاقك الخاص بموقع الحجز.",saveDomain:"حفظ النطاق",removeDomain:"إزالة النطاق المخصص",contractPolicies:"العقد وسياسات السائق",savePolicies:"حفظ السياسات",insurancePolicies:"سياسات التأمين",pricingRules:"قواعد التسعير",accounting:"المحاسبة والتصدير",saveAccounting:"حفظ المحاسبة",displayName:"اسم العرض",tagline:"الشعار",publicEmail:"البريد الإلكتروني العام",publicPhone:"الهاتف العام",city:"المدينة",country:"الدولة",websiteUrl:"رابط الموقع",contractLanguage:"لغة العقد",whatsapp:"رقم واتساب",brandColor:"لون العلامة",listedMarketplace:"مدرج في السوق",logoUpload:"رفع الشعار",heroUpload:"رفع صورة الواجهة",uploading:"جارٍ الرفع…",logoUploaded:"تم رفع الشعار",noLogo:"لم يتم رفع شعار بعد",heroUploaded:"تم رفع صورة الواجهة",noHero:"لم يتم رفع صورة واجهة بعد",subdomain:"النطاق الفرعي",customDomainLabel:"النطاق المخصص",domainPlaceholder:"cars.example.com",status:"الحالة",verified:"موثق",pendingDns:"بانتظار التحقق من DNS",notConfigured:"غير مُعدّ",fuelPolicyType:"نوع سياسة الوقود",additionalDriverCharge:"رسوم السائق الإضافي",dailyDriverRate:"تعرفة السائق اليومية",flatDriverRate:"تعرفة السائق الثابتة",fuelPolicyNote:"ملاحظة سياسة الوقود",damagePolicy:"سياسة الأضرار",active:"نشط",inactive:"غير نشط",noInsurance:"لا توجد سياسات تأمين مهيأة.",policyName:"اسم السياسة",chargeValue:"قيمة الرسوم",required:"إلزامي",addPolicy:"إضافة سياسة",noRules:"لا توجد قواعد تسعير مهيأة.",ruleName:"اسم القاعدة",addRule:"إضافة قاعدة",reportingPeriod:"فترة التقرير",reportFormat:"تنسيق التقرير",accountantName:"اسم المحاسب",accountantEmail:"بريد المحاسب",autoSend:"إرسال التقارير تلقائياً إلى المحاسب",amanpayMerchantId:"معرّف التاجر AmanPay",amanpaySecretKey:"المفتاح السري AmanPay",paypalEmail:"بريد أعمال PayPal",noPaymentConfigured:"إذا لم يتم إعداد وسيلة دفع، لا يزال بإمكان العملاء إرسال طلب حجز والدفع عند الاستلام.",fuelPolicyLabels:{FULL_TO_FULL:"ممتلئ إلى ممتلئ",FULL_TO_EMPTY:"ممتلئ إلى فارغ",SAME_TO_SAME:"نفس المستوى",PREPAID:"مدفوع مسبقاً",FREE:"مشمول"},driverChargeLabels:{FREE:"مجاني",PER_DAY:"يومي",FLAT:"ثابت"},reportingPeriodLabels:{WEEKLY:"أسبوعي",MONTHLY:"شهري",QUARTERLY:"ربع سنوي",ANNUAL:"سنوي"},reportFormatLabels:{CSV:"CSV",PDF:"PDF",BOTH:"كلاهما"}}}[e],[c,o]=(0,t.useState)(null),[d,m]=(0,t.useState)(null),[u,p]=(0,t.useState)([]),[h,g]=(0,t.useState)([]),[x,b]=(0,t.useState)(null),[v,y]=(0,t.useState)(s),[N,f]=(0,t.useState)(n),[j,P]=(0,t.useState)(""),[C,E]=(0,t.useState)(null),[A,L]=(0,t.useState)(null),[D,R]=(0,t.useState)(!1);async function S(){try{let[e,a,t,l,s]=await Promise.all([(0,i.apiFetch)("/companies/me/brand"),(0,i.apiFetch)("/companies/me/contract-settings"),(0,i.apiFetch)("/companies/me/insurance-policies"),(0,i.apiFetch)("/companies/me/pricing-rules"),(0,i.apiFetch)("/companies/me/accounting-settings")]);o(e),P(e?.customDomain??""),m(a??{fuelPolicyType:"FULL_TO_FULL",fuelPolicyNote:"",additionalDriverCharge:"FREE",additionalDriverDailyRate:0,additionalDriverFlatRate:0,damagePolicy:""}),p(t),g(l),b(s??{reportingPeriod:"MONTHLY",accountantEmail:"",accountantName:"",autoSendReport:!1,reportFormat:"CSV"}),L(null)}catch(e){L(e.message??"Failed to load settings")}}async function T(){if(c){R(!0),L(null);try{let e=await (0,i.apiFetch)("/companies/me/brand",{method:"PATCH",body:JSON.stringify({displayName:c.displayName,tagline:c.tagline||void 0,primaryColor:c.primaryColor,accentColor:c.accentColor||void 0,publicEmail:c.publicEmail||void 0,publicPhone:c.publicPhone||void 0,publicAddress:c.publicAddress||void 0,publicCity:c.publicCity||void 0,publicCountry:c.publicCountry||void 0,websiteUrl:c.websiteUrl||void 0,defaultLocale:c.defaultLocale||void 0,whatsappNumber:c.whatsappNumber||void 0,paypalEmail:c.paypalEmail||void 0,amanpayMerchantId:c.amanpayMerchantId||void 0,amanpaySecretKey:c.amanpaySecretKey||void 0,paypalMerchantId:c.paypalMerchantId||void 0,defaultCurrency:c.defaultCurrency||void 0,isListedOnMarketplace:c.isListedOnMarketplace})});o(e)}catch(e){L(e.message??"Failed to save brand settings")}finally{R(!1)}}}async function F(e,a){if(a){E(e),L(null);try{let t=new FormData;t.append("file",a);let l=await (0,i.apiFetch)(`/companies/me/brand/${e}`,{method:"POST",body:t});o(l)}catch(a){L(a.message??`Failed to upload ${e}`)}finally{E(null)}}}async function k(){R(!0),L(null);try{await (0,i.apiFetch)("/companies/me/brand/custom-domain",{method:"POST",body:JSON.stringify({customDomain:j})}),await S()}catch(e){L(e.message??"Failed to save custom domain")}finally{R(!1)}}async function U(){R(!0),L(null);try{await (0,i.apiFetch)("/companies/me/brand/custom-domain",{method:"DELETE"}),P(""),await S()}catch(e){L(e.message??"Failed to remove custom domain")}finally{R(!1)}}async function _(){if(d){R(!0),L(null);try{await (0,i.apiFetch)("/companies/me/contract-settings",{method:"PATCH",body:JSON.stringify(d)})}catch(e){L(e.message??"Failed to save contract settings")}finally{R(!1)}}}async function O(){if(x){R(!0),L(null);try{await (0,i.apiFetch)("/companies/me/accounting-settings",{method:"PATCH",body:JSON.stringify(x)})}catch(e){L(e.message??"Failed to save accounting settings")}finally{R(!1)}}}async function w(){R(!0),L(null);try{await (0,i.apiFetch)("/companies/me/insurance-policies",{method:"POST",body:JSON.stringify(v)}),y(s),await S()}catch(e){L(e.message??"Failed to create insurance policy")}finally{R(!1)}}async function M(e){try{await (0,i.apiFetch)(`/companies/me/insurance-policies/${e.id}`,{method:"PATCH",body:JSON.stringify({isActive:!e.isActive})}),await S()}catch(e){L(e.message??"Failed to update insurance policy")}}async function I(){R(!0),L(null);try{await (0,i.apiFetch)("/companies/me/pricing-rules",{method:"POST",body:JSON.stringify(N)}),f(n),await S()}catch(e){L(e.message??"Failed to create pricing rule")}finally{R(!1)}}async function H(e){try{await (0,i.apiFetch)(`/companies/me/pricing-rules/${e.id}`,{method:"PATCH",body:JSON.stringify({isActive:!e.isActive})}),await S()}catch(e){L(e.message??"Failed to update pricing rule")}}return(0,t.useEffect)(()=>{S()},[]),(0,a.jsxs)("div",{className:"space-y-6",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("h2",{className:"text-xl font-semibold text-slate-900",children:r.title}),(0,a.jsx)("p",{className:"mt-1 text-sm text-slate-500",children:r.subtitle})]}),A&&(0,a.jsx)("div",{className:"card p-6 text-sm text-red-600",children:A}),c&&(0,a.jsxs)("div",{className:"grid gap-6",children:[(0,a.jsxs)("div",{className:"card p-6",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between gap-4",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("h3",{className:"text-base font-semibold text-slate-900",children:r.brandProfile}),(0,a.jsx)("p",{className:"mt-1 text-sm text-slate-500",children:r.brandProfileDesc})]}),(0,a.jsx)("button",{onClick:T,disabled:D,className:"btn-primary",children:D?r.save:r.saveBrand})]}),(0,a.jsxs)("div",{className:"mt-5 grid gap-4 lg:grid-cols-2",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"mb-1.5 block text-sm font-medium text-slate-700",children:r.displayName}),(0,a.jsx)("input",{className:"input-field",value:c.displayName,onChange:e=>o(a=>a?{...a,displayName:e.target.value}:a)})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"mb-1.5 block text-sm font-medium text-slate-700",children:r.tagline}),(0,a.jsx)("input",{className:"input-field",value:c.tagline??"",onChange:e=>o(a=>a?{...a,tagline:e.target.value}:a)})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"mb-1.5 block text-sm font-medium text-slate-700",children:r.publicEmail}),(0,a.jsx)("input",{className:"input-field",type:"email",value:c.publicEmail??"",onChange:e=>o(a=>a?{...a,publicEmail:e.target.value}:a)})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"mb-1.5 block text-sm font-medium text-slate-700",children:r.publicPhone}),(0,a.jsx)("input",{className:"input-field",value:c.publicPhone??"",onChange:e=>o(a=>a?{...a,publicPhone:e.target.value}:a)})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"mb-1.5 block text-sm font-medium text-slate-700",children:r.city}),(0,a.jsx)("input",{className:"input-field",value:c.publicCity??"",onChange:e=>o(a=>a?{...a,publicCity:e.target.value}:a)})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"mb-1.5 block text-sm font-medium text-slate-700",children:r.country}),(0,a.jsx)("input",{className:"input-field",value:c.publicCountry??"",onChange:e=>o(a=>a?{...a,publicCountry:e.target.value}:a)})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"mb-1.5 block text-sm font-medium text-slate-700",children:r.websiteUrl}),(0,a.jsx)("input",{className:"input-field",value:c.websiteUrl??"",onChange:e=>o(a=>a?{...a,websiteUrl:e.target.value}:a)})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"mb-1.5 block text-sm font-medium text-slate-700",children:r.contractLanguage}),(0,a.jsxs)("select",{className:"input-field",value:c.defaultLocale??"en",onChange:e=>o(a=>a?{...a,defaultLocale:e.target.value}:a),children:[(0,a.jsx)("option",{value:"en",children:"EN"}),(0,a.jsx)("option",{value:"fr",children:"FR"}),(0,a.jsx)("option",{value:"ar",children:"AR"})]})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"mb-1.5 block text-sm font-medium text-slate-700",children:r.whatsapp}),(0,a.jsx)("input",{className:"input-field",value:c.whatsappNumber??"",onChange:e=>o(a=>a?{...a,whatsappNumber:e.target.value}:a)})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"mb-1.5 block text-sm font-medium text-slate-700",children:r.brandColor}),(0,a.jsx)("input",{className:"input-field",value:c.primaryColor,onChange:e=>o(a=>a?{...a,primaryColor:e.target.value}:a)})]}),(0,a.jsx)("div",{className:"flex items-center gap-4",children:(0,a.jsxs)("label",{className:"flex items-center gap-2 text-sm font-medium text-slate-700",children:[(0,a.jsx)("input",{type:"checkbox",checked:c.isListedOnMarketplace,onChange:e=>o(a=>a?{...a,isListedOnMarketplace:e.target.checked}:a)}),r.listedMarketplace]})})]}),(0,a.jsxs)("div",{className:"mt-5 grid gap-4 lg:grid-cols-2",children:[(0,a.jsxs)("label",{className:"block",children:[(0,a.jsx)("span",{className:"mb-1.5 block text-sm font-medium text-slate-700",children:r.logoUpload}),(0,a.jsx)("input",{type:"file",accept:"image/*",onChange:e=>F("logo",e.target.files?.[0]??null),className:"input-field"}),(0,a.jsx)("p",{className:"mt-2 text-xs text-slate-500",children:"logo"===C?r.uploading:c.logoUrl?r.logoUploaded:r.noLogo})]}),(0,a.jsxs)("label",{className:"block",children:[(0,a.jsx)("span",{className:"mb-1.5 block text-sm font-medium text-slate-700",children:r.heroUpload}),(0,a.jsx)("input",{type:"file",accept:"image/*",onChange:e=>F("hero",e.target.files?.[0]??null),className:"input-field"}),(0,a.jsx)("p",{className:"mt-2 text-xs text-slate-500",children:"hero"===C?r.uploading:c.heroImageUrl?r.heroUploaded:r.noHero})]})]})]}),(0,a.jsxs)("div",{className:"grid gap-6 lg:grid-cols-2",children:[(0,a.jsxs)("div",{className:"card p-6",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between gap-4",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("h3",{className:"text-base font-semibold text-slate-900",children:r.payments}),(0,a.jsx)("p",{className:"mt-1 text-sm text-slate-500",children:r.paymentsDesc})]}),(0,a.jsx)("button",{onClick:T,disabled:D,className:"btn-primary",children:D?r.save:r.savePayments})]}),(0,a.jsxs)("div",{className:"mt-5 grid gap-4",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"mb-1.5 block text-sm font-medium text-slate-700",children:r.amanpayMerchantId}),(0,a.jsx)("input",{className:"input-field",value:c.amanpayMerchantId??"",onChange:e=>o(a=>a?{...a,amanpayMerchantId:e.target.value}:a)})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"mb-1.5 block text-sm font-medium text-slate-700",children:r.amanpaySecretKey}),(0,a.jsx)("input",{className:"input-field",type:"password",value:c.amanpaySecretKey??"",onChange:e=>o(a=>a?{...a,amanpaySecretKey:e.target.value}:a)})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"mb-1.5 block text-sm font-medium text-slate-700",children:r.paypalEmail}),(0,a.jsx)("input",{className:"input-field",type:"email",value:c.paypalEmail??"",onChange:e=>o(a=>a?{...a,paypalEmail:e.target.value}:a)})]}),(0,a.jsx)("div",{className:"rounded-2xl border border-slate-200 bg-slate-50 p-4 text-sm text-slate-600",children:r.noPaymentConfigured})]})]}),(0,a.jsxs)("div",{className:"card p-6",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between gap-4",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("h3",{className:"text-base font-semibold text-slate-900",children:r.customDomain}),(0,a.jsx)("p",{className:"mt-1 text-sm text-slate-500",children:r.customDomainDesc})]}),(0,a.jsx)("button",{onClick:k,disabled:D||!j.trim(),className:"btn-primary",children:D?r.save:r.saveDomain})]}),(0,a.jsxs)("div",{className:"mt-5 space-y-4",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"mb-1.5 block text-sm font-medium text-slate-700",children:r.subdomain}),(0,a.jsxs)("div",{className:"rounded-2xl border border-slate-200 bg-slate-50 px-4 py-3 text-sm text-slate-700",children:[c.subdomain,".RentalDriveGo.com"]})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"mb-1.5 block text-sm font-medium text-slate-700",children:r.customDomainLabel}),(0,a.jsx)("input",{className:"input-field",placeholder:r.domainPlaceholder,value:j,onChange:e=>P(e.target.value)})]}),(0,a.jsxs)("div",{className:"rounded-2xl border border-slate-200 bg-slate-50 p-4 text-sm text-slate-600",children:[r.status,": ",c.customDomain?c.customDomainVerified?r.verified:r.pendingDns:r.notConfigured]}),c.customDomain?(0,a.jsx)("button",{onClick:U,disabled:D,className:"btn-secondary",children:r.removeDomain}):null]})]})]})]}),d&&(0,a.jsxs)("div",{className:"card p-6",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[(0,a.jsx)("h3",{className:"text-base font-semibold text-slate-900",children:r.contractPolicies}),(0,a.jsx)("button",{onClick:_,disabled:D,className:"btn-primary",children:D?r.save:r.savePolicies})]}),(0,a.jsxs)("div",{className:"mt-5 grid gap-4 lg:grid-cols-2",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"mb-1.5 block text-sm font-medium text-slate-700",children:r.fuelPolicyType}),(0,a.jsx)("select",{className:"input-field",value:d.fuelPolicyType,onChange:e=>m(a=>a?{...a,fuelPolicyType:e.target.value}:a),children:["FULL_TO_FULL","FULL_TO_EMPTY","SAME_TO_SAME","PREPAID","FREE"].map(e=>(0,a.jsx)("option",{value:e,children:r.fuelPolicyLabels[e]??e},e))})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"mb-1.5 block text-sm font-medium text-slate-700",children:r.additionalDriverCharge}),(0,a.jsx)("select",{className:"input-field",value:d.additionalDriverCharge,onChange:e=>m(a=>a?{...a,additionalDriverCharge:e.target.value}:a),children:["FREE","PER_DAY","FLAT"].map(e=>(0,a.jsx)("option",{value:e,children:r.driverChargeLabels[e]??e},e))})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"mb-1.5 block text-sm font-medium text-slate-700",children:r.dailyDriverRate}),(0,a.jsx)("input",{type:"number",className:"input-field",value:d.additionalDriverDailyRate,onChange:e=>m(a=>a?{...a,additionalDriverDailyRate:Number(e.target.value)}:a)})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"mb-1.5 block text-sm font-medium text-slate-700",children:r.flatDriverRate}),(0,a.jsx)("input",{type:"number",className:"input-field",value:d.additionalDriverFlatRate,onChange:e=>m(a=>a?{...a,additionalDriverFlatRate:Number(e.target.value)}:a)})]}),(0,a.jsxs)("div",{className:"lg:col-span-2",children:[(0,a.jsx)("label",{className:"mb-1.5 block text-sm font-medium text-slate-700",children:r.fuelPolicyNote}),(0,a.jsx)("textarea",{className:"input-field min-h-24",value:d.fuelPolicyNote??"",onChange:e=>m(a=>a?{...a,fuelPolicyNote:e.target.value}:a)})]}),(0,a.jsxs)("div",{className:"lg:col-span-2",children:[(0,a.jsx)("label",{className:"mb-1.5 block text-sm font-medium text-slate-700",children:r.damagePolicy}),(0,a.jsx)("textarea",{className:"input-field min-h-24",value:d.damagePolicy??"",onChange:e=>m(a=>a?{...a,damagePolicy:e.target.value}:a)})]})]})]}),(0,a.jsxs)("div",{className:"grid gap-6 xl:grid-cols-2",children:[(0,a.jsxs)("div",{className:"card p-6",children:[(0,a.jsx)("h3",{className:"text-base font-semibold text-slate-900",children:r.insurancePolicies}),(0,a.jsxs)("div",{className:"mt-5 space-y-3",children:[u.map(e=>(0,a.jsxs)("div",{className:"flex items-center justify-between rounded-2xl border border-slate-200 px-4 py-3 text-sm",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"font-medium text-slate-900",children:e.name}),(0,a.jsxs)("p",{className:"text-slate-500",children:[e.type," · ",e.chargeType," · ",e.chargeValue]})]}),(0,a.jsx)("button",{onClick:()=>M(e),className:e.isActive?"badge-green":"badge-gray",children:e.isActive?r.active:r.inactive})]},e.id)),0===u.length&&(0,a.jsx)("div",{className:"text-sm text-slate-400",children:r.noInsurance})]}),(0,a.jsxs)("div",{className:"mt-5 grid gap-3 sm:grid-cols-2",children:[(0,a.jsx)("input",{className:"input-field",placeholder:r.policyName,value:v.name,onChange:e=>y(a=>({...a,name:e.target.value}))}),(0,a.jsx)("select",{className:"input-field",value:v.type,onChange:e=>y(a=>({...a,type:e.target.value})),children:["BASIC","FULL","CDW","SCDW","THEFT","THIRD_PARTY","ROADSIDE","PERSONAL","CUSTOM"].map(e=>(0,a.jsx)("option",{value:e,children:e},e))}),(0,a.jsx)("select",{className:"input-field",value:v.chargeType,onChange:e=>y(a=>({...a,chargeType:e.target.value})),children:["PER_DAY","PER_RENTAL","PERCENTAGE_OF_RENTAL"].map(e=>(0,a.jsx)("option",{value:e,children:e},e))}),(0,a.jsx)("input",{type:"number",className:"input-field",placeholder:r.chargeValue,value:v.chargeValue,onChange:e=>y(a=>({...a,chargeValue:Number(e.target.value)}))})]}),(0,a.jsxs)("div",{className:"mt-3 flex items-center gap-4 text-sm",children:[(0,a.jsxs)("label",{className:"flex items-center gap-2",children:[(0,a.jsx)("input",{type:"checkbox",checked:v.isRequired,onChange:e=>y(a=>({...a,isRequired:e.target.checked}))})," ",r.required]}),(0,a.jsx)("button",{onClick:w,disabled:D,className:"btn-primary",children:D?r.save:r.addPolicy})]})]}),(0,a.jsxs)("div",{className:"card p-6",children:[(0,a.jsx)("h3",{className:"text-base font-semibold text-slate-900",children:r.pricingRules}),(0,a.jsxs)("div",{className:"mt-5 space-y-3",children:[h.map(e=>(0,a.jsxs)("div",{className:"flex items-center justify-between rounded-2xl border border-slate-200 px-4 py-3 text-sm",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"font-medium text-slate-900",children:e.name}),(0,a.jsxs)("p",{className:"text-slate-500",children:[e.type," · ",e.condition," ",e.conditionValue," · ",e.adjustmentType," ",e.adjustmentValue]})]}),(0,a.jsx)("button",{onClick:()=>H(e),className:e.isActive?"badge-green":"badge-gray",children:e.isActive?r.active:r.inactive})]},e.id)),0===h.length&&(0,a.jsx)("div",{className:"text-sm text-slate-400",children:r.noRules})]}),(0,a.jsxs)("div",{className:"mt-5 grid gap-3 sm:grid-cols-2",children:[(0,a.jsx)("input",{className:"input-field",placeholder:r.ruleName,value:N.name,onChange:e=>f(a=>({...a,name:e.target.value}))}),(0,a.jsx)("select",{className:"input-field",value:N.type,onChange:e=>f(a=>({...a,type:e.target.value})),children:["SURCHARGE","DISCOUNT"].map(e=>(0,a.jsx)("option",{value:e,children:e},e))}),(0,a.jsx)("select",{className:"input-field",value:N.condition,onChange:e=>f(a=>({...a,condition:e.target.value})),children:["AGE_LESS_THAN","AGE_GREATER_THAN","LICENSE_YEARS_LESS_THAN","LICENSE_YEARS_GREATER_THAN"].map(e=>(0,a.jsx)("option",{value:e,children:e},e))}),(0,a.jsx)("input",{type:"number",className:"input-field",value:N.conditionValue,onChange:e=>f(a=>({...a,conditionValue:Number(e.target.value)}))}),(0,a.jsx)("select",{className:"input-field",value:N.adjustmentType,onChange:e=>f(a=>({...a,adjustmentType:e.target.value})),children:["PERCENTAGE","FLAT_PER_DAY","FLAT_TOTAL"].map(e=>(0,a.jsx)("option",{value:e,children:e},e))}),(0,a.jsx)("input",{type:"number",className:"input-field",value:N.adjustmentValue,onChange:e=>f(a=>({...a,adjustmentValue:Number(e.target.value)}))})]}),(0,a.jsx)("div",{className:"mt-3",children:(0,a.jsx)("button",{onClick:I,disabled:D,className:"btn-primary",children:D?r.save:r.addRule})})]})]}),x&&(0,a.jsxs)("div",{className:"card p-6",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[(0,a.jsx)("h3",{className:"text-base font-semibold text-slate-900",children:r.accounting}),(0,a.jsx)("button",{onClick:O,disabled:D,className:"btn-primary",children:D?r.save:r.saveAccounting})]}),(0,a.jsxs)("div",{className:"mt-5 grid gap-4 lg:grid-cols-2",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"mb-1.5 block text-sm font-medium text-slate-700",children:r.reportingPeriod}),(0,a.jsx)("select",{className:"input-field",value:x.reportingPeriod,onChange:e=>b(a=>a?{...a,reportingPeriod:e.target.value}:a),children:["WEEKLY","MONTHLY","QUARTERLY","ANNUAL"].map(e=>(0,a.jsx)("option",{value:e,children:r.reportingPeriodLabels[e]??e},e))})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"mb-1.5 block text-sm font-medium text-slate-700",children:r.reportFormat}),(0,a.jsx)("select",{className:"input-field",value:x.reportFormat,onChange:e=>b(a=>a?{...a,reportFormat:e.target.value}:a),children:["CSV","PDF","BOTH"].map(e=>(0,a.jsx)("option",{value:e,children:r.reportFormatLabels[e]??e},e))})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"mb-1.5 block text-sm font-medium text-slate-700",children:r.accountantName}),(0,a.jsx)("input",{className:"input-field",value:x.accountantName??"",onChange:e=>b(a=>a?{...a,accountantName:e.target.value}:a)})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"mb-1.5 block text-sm font-medium text-slate-700",children:r.accountantEmail}),(0,a.jsx)("input",{className:"input-field",value:x.accountantEmail??"",onChange:e=>b(a=>a?{...a,accountantEmail:e.target.value}:a)})]})]}),(0,a.jsxs)("label",{className:"mt-4 flex items-center gap-2 text-sm font-medium text-slate-700",children:[(0,a.jsx)("input",{type:"checkbox",checked:x.autoSendReport,onChange:e=>b(a=>a?{...a,autoSendReport:e.target.checked}:a)}),r.autoSend]})]})]})}])}]); |