1 line
7.4 KiB
JavaScript
1 line
7.4 KiB
JavaScript
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,56971,e=>{"use strict";var a=e.i(43476),s=e.i(71645),t=e.i(18566),l=e.i(94327),i=e.i(87849),n=e.i(40829);e.s(["default",0,function(){let e=(0,t.useRouter)(),[c,r]=(0,s.useState)(1),[m,d]=(0,s.useState)(!1),[o,p]=(0,s.useState)(null),[u,x]=(0,s.useState)({name:"",slug:""}),[h,y]=(0,s.useState)({displayName:"",tagline:"",primaryColor:"#2563eb",publicCity:"",publicCountry:""}),[b,j]=(0,s.useState)({amanpayMerchantId:"",amanpaySecretKey:"",paypalEmail:"",isListedOnMarketplace:!0});async function f(){if(!u.name.trim())return p("Company name is required");d(!0),p(null);try{await (0,l.apiFetch)("/companies/me",{method:"PATCH",body:JSON.stringify({name:u.name})}),r(2)}catch(e){p(e.message)}finally{d(!1)}}async function N(){if(!h.displayName.trim())return p("Display name is required");d(!0),p(null);try{await (0,l.apiFetch)("/companies/me/brand",{method:"PATCH",body:JSON.stringify({displayName:h.displayName,tagline:h.tagline||void 0,primaryColor:h.primaryColor,publicCity:h.publicCity||void 0,publicCountry:h.publicCountry||void 0})}),r(3)}catch(e){p(e.message)}finally{d(!1)}}async function g(){d(!0),p(null);try{await (0,l.apiFetch)("/companies/me/brand",{method:"PATCH",body:JSON.stringify({amanpayMerchantId:b.amanpayMerchantId||void 0,amanpaySecretKey:b.amanpaySecretKey||void 0,paypalEmail:b.paypalEmail||void 0,isListedOnMarketplace:b.isListedOnMarketplace})}),e.push("/")}catch(e){p(e.message)}finally{d(!1)}}return(0,a.jsx)(i.default,{children:(0,a.jsx)("main",{className:"flex items-center justify-center px-4 py-12",children:(0,a.jsxs)("div",{className:"w-full max-w-lg",children:[(0,a.jsxs)("div",{className:"mb-8 text-center",children:[(0,a.jsx)("a",{href:n.marketplaceUrl,className:"text-xs font-semibold uppercase tracking-widest text-blue-600",children:"RentalDriveGo"}),(0,a.jsx)("h1",{className:"mt-2 text-3xl font-bold text-slate-900",children:"Set up your account"}),(0,a.jsxs)("p",{className:"mt-1 text-sm text-slate-500",children:["Step ",c," of 3"]})]}),(0,a.jsx)("div",{className:"flex gap-2 mb-8",children:[1,2,3].map(e=>(0,a.jsx)("div",{className:`flex-1 h-1.5 rounded-full transition-colors ${e<=c?"bg-blue-600":"bg-slate-200"}`},e))}),(0,a.jsxs)("div",{className:"card p-8",children:[o&&(0,a.jsx)("div",{className:"mb-6 p-3 rounded-lg bg-red-50 border border-red-200 text-sm text-red-700",children:o}),1===c&&(0,a.jsxs)("div",{className:"space-y-5",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("h2",{className:"text-lg font-semibold text-slate-900",children:"Your company"}),(0,a.jsx)("p",{className:"mt-1 text-sm text-slate-500",children:"Tell us the basics about your rental company."})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"block text-sm font-medium text-slate-700 mb-1",children:"Company name"}),(0,a.jsx)("input",{className:"input-field",placeholder:"Casablanca Car Rentals",value:u.name,onChange:e=>x({...u,name:e.target.value})})]}),(0,a.jsx)("button",{onClick:f,disabled:m,className:"btn-primary w-full justify-center",children:m?"Saving…":"Continue"})]}),2===c&&(0,a.jsxs)("div",{className:"space-y-5",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("h2",{className:"text-lg font-semibold text-slate-900",children:"Brand & identity"}),(0,a.jsx)("p",{className:"mt-1 text-sm text-slate-500",children:"Customize how your company appears to renters."})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"block text-sm font-medium text-slate-700 mb-1",children:"Display name"}),(0,a.jsx)("input",{className:"input-field",placeholder:"Casa Rentals",value:h.displayName,onChange:e=>y({...h,displayName:e.target.value})})]}),(0,a.jsxs)("div",{children:[(0,a.jsxs)("label",{className:"block text-sm font-medium text-slate-700 mb-1",children:["Tagline ",(0,a.jsx)("span",{className:"text-slate-400",children:"(optional)"})]}),(0,a.jsx)("input",{className:"input-field",placeholder:"The best fleet in the city",value:h.tagline,onChange:e=>y({...h,tagline:e.target.value})})]}),(0,a.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"block text-sm font-medium text-slate-700 mb-1",children:"City"}),(0,a.jsx)("input",{className:"input-field",placeholder:"Casablanca",value:h.publicCity,onChange:e=>y({...h,publicCity:e.target.value})})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"block text-sm font-medium text-slate-700 mb-1",children:"Country"}),(0,a.jsx)("input",{className:"input-field",placeholder:"Morocco",value:h.publicCountry,onChange:e=>y({...h,publicCountry:e.target.value})})]})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"block text-sm font-medium text-slate-700 mb-1",children:"Brand color"}),(0,a.jsxs)("div",{className:"flex items-center gap-3",children:[(0,a.jsx)("input",{type:"color",className:"h-10 w-14 rounded border border-slate-200 cursor-pointer",value:h.primaryColor,onChange:e=>y({...h,primaryColor:e.target.value})}),(0,a.jsx)("input",{className:"input-field",value:h.primaryColor,onChange:e=>y({...h,primaryColor:e.target.value})})]})]}),(0,a.jsxs)("div",{className:"flex gap-3",children:[(0,a.jsx)("button",{onClick:()=>r(1),className:"btn-secondary flex-1 justify-center",children:"Back"}),(0,a.jsx)("button",{onClick:N,disabled:m,className:"btn-primary flex-1 justify-center",children:m?"Saving…":"Continue"})]})]}),3===c&&(0,a.jsxs)("div",{className:"space-y-5",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("h2",{className:"text-lg font-semibold text-slate-900",children:"Payment setup"}),(0,a.jsx)("p",{className:"mt-1 text-sm text-slate-500",children:"Connect payment providers so renters can book online. You can skip this for now."})]}),(0,a.jsxs)("div",{children:[(0,a.jsxs)("label",{className:"block text-sm font-medium text-slate-700 mb-1",children:["AmanPay Merchant ID ",(0,a.jsx)("span",{className:"text-slate-400",children:"(optional)"})]}),(0,a.jsx)("input",{className:"input-field",placeholder:"your-merchant-id",value:b.amanpayMerchantId,onChange:e=>j({...b,amanpayMerchantId:e.target.value})})]}),(0,a.jsxs)("div",{children:[(0,a.jsxs)("label",{className:"block text-sm font-medium text-slate-700 mb-1",children:["AmanPay Secret Key ",(0,a.jsx)("span",{className:"text-slate-400",children:"(optional)"})]}),(0,a.jsx)("input",{type:"password",className:"input-field",placeholder:"your-secret-key",value:b.amanpaySecretKey,onChange:e=>j({...b,amanpaySecretKey:e.target.value})})]}),(0,a.jsxs)("div",{children:[(0,a.jsxs)("label",{className:"block text-sm font-medium text-slate-700 mb-1",children:["PayPal email ",(0,a.jsx)("span",{className:"text-slate-400",children:"(optional)"})]}),(0,a.jsx)("input",{type:"email",className:"input-field",placeholder:"payments@yourcompany.com",value:b.paypalEmail,onChange:e=>j({...b,paypalEmail:e.target.value})})]}),(0,a.jsxs)("label",{className:"flex items-center gap-3 cursor-pointer",children:[(0,a.jsx)("input",{type:"checkbox",className:"h-4 w-4 rounded border-slate-300 text-blue-600 focus:ring-blue-500",checked:b.isListedOnMarketplace,onChange:e=>j({...b,isListedOnMarketplace:e.target.checked})}),(0,a.jsx)("span",{className:"text-sm text-slate-700",children:"List my company on the RentalDriveGo marketplace"})]}),(0,a.jsxs)("div",{className:"flex gap-3",children:[(0,a.jsx)("button",{onClick:()=>r(2),className:"btn-secondary flex-1 justify-center",children:"Back"}),(0,a.jsx)("button",{onClick:g,disabled:m,className:"btn-primary flex-1 justify-center",children:m?"Finishing…":"Go to dashboard"})]})]})]})]})})})}])}]); |