1import{j as e}from"./vendor-query-D1Mshrk-.js";import{r as f}from"./vendor-react-BfQMi0FG.js";import{a0 as W,as as ee,Y as se,Z as ae,u as ie,at as ne,L as n,I as t,v as F,s as k,B as re,p as w,t as _}from"./index-D3kn74s7.js";import{P as le}from"./page-header-C7x1KRLA.js";import{C as v,a as E,b as C,d as y}from"./card-C6DfUXn8.js";import{S as d,a as o,b as u,c as m,d as i}from"./select-Da-jnnzS.js";import"./vendor-ui-nQy3bJlE.js";import"./check-CXo9hMCb.js";const te={ACTIVE:"Active",SUSPENDED:"Suspended",INACTIVE:"Inactive",DELETED:"Deleted"},ce={TRIAL:"Trial",BASIC:"Basic",PROFESSIONAL:"Professional",ENTERPRISE:"Enterprise"},de={TRIAL:"Trial",ACTIVE:"Active",PAST_DUE:"Past Due",CANCELLED:"Cancelled",EXPIRED:"Expired"},H=k.map(a=>({value:a.code,label:a.name}));function Se(){const{data:a,isLoading:p}=W();return p||!a?e.jsx("div",{className:"p-6",children:"Loading..."}):e.jsx(oe,{client:a})}function oe({client:a}){const p=ee(),{data:N}=se(),U=ae(),x=ie(s=>s.isSuperAdmin),[A,I]=f.useState((N?.orderNotificationCcEmails??[]).join(", ")),[R,D]=f.useState(N?.notificationEmail??""),B=f.useRef(!1);N&&!B.current&&(B.current=!0,I((N.orderNotificationCcEmails??[]).join(", ")),D(N.notificationEmail??""));const{register:h,handleSubmit:G,setValue:r,watch:c}=ne({defaultValues:{name:a.name??"",businessName:a.businessName??"",cuisineType:a.cuisineType??"OTHER",email:a.email??"",phone:a.phone??"",taxNumber:a.taxNumber??"",registrationNumber:a.registrationNumber??"",defaultLocale:a.defaultLocale??"en",supportedLocales:a.supportedLocales??["en"],currency:a.currency??"GBP",timezone:a.timezone??"Europe/London",country:a.country??"GB",status:a.status??"ACTIVE",subscriptionTier:a.subscriptionTier??"BASIC",subscriptionStatus:a.subscriptionStatus??"TRIAL"}}),V=f.useRef(a.businessName!==a.name),M=c("cuisineType"),b=c("defaultLocale"),j=c("supportedLocales"),S=c("currency"),O=c("timezone"),T=c("country"),K=s=>{const l=w[s]??w.GB;r("country",l.code),r("defaultLocale",l.defaultLocale),r("supportedLocales",l.defaultLocale==="en"?["en"]:["ar","en"]),r("currency",l.currency),r("timezone",l.timezone)},Y=s=>{const g=j.includes(s)?j.filter(z=>z!==s):[...j,s];g.includes(b)||g.push(b),r("supportedLocales",g)},Z=c("status"),$=c("subscriptionTier"),P=c("subscriptionStatus"),J=s=>{const{country:l,defaultLocale:g,supportedLocales:z,currency:ue,timezone:me,status:xe,subscriptionTier:he,subscriptionStatus:je,...X}=s,q=Object.fromEntries(Object.entries(x?s:X).filter(([,L])=>L!=="")),Q=A.split(",").map(L=>L.trim()).filter(Boolean);U.mutate({orderNotificationCcEmails:Q,notificationEmail:R.trim()||null}),p.mutate(q,{onSuccess:()=>_.success("Details updated"),onError:()=>_.error("Failed to update details")})};return e.jsxs("div",{className:"space-y-6",children:[e.jsx(le,{title:"Basic Details",description:"Manage your business information"}),e.jsxs("form",{onSubmit:G(J),className:"space-y-6",children:[e.jsxs(v,{children:[e.jsx(E,{children:e.jsx(C,{children:"Business Information"})}),e.jsxs(y,{className:"grid gap-4 sm:grid-cols-2",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(n,{htmlFor:"name",children:"Name"}),e.jsx(t,{id:"name",...h("name",{onChange:s=>{V.current||r("businessName",s.target.value)}}),placeholder:"Business display name"})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(n,{children:"Slug"}),e.jsx(t,{value:a?.slug??"",disabled:!0,className:"bg-muted"})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(n,{htmlFor:"businessName",children:"Business Name"}),e.jsx(t,{id:"businessName",...h("businessName",{onChange:()=>{V.current=!0}}),placeholder:"Legal business name"})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(n,{children:"Cuisine Type"}),e.jsxs(d,{value:M,onValueChange:s=>r("cuisineType",s),children:[e.jsx(o,{className:"w-full",children:e.jsx(u,{})}),e.jsxs(m,{children:[e.jsx(i,{value:"PIZZA",children:"Pizza"}),e.jsx(i,{value:"CHICKEN",children:"Chicken"}),e.jsx(i,{value:"INDIAN",children:"Indian"}),e.jsx(i,{value:"CHINESE",children:"Chinese"}),e.jsx(i,{value:"THAI",children:"Thai"}),e.jsx(i,{value:"JAPANESE",children:"Japanese"}),e.jsx(i,{value:"TURKISH",children:"Turkish"}
1),e.jsx(i,{value:"LEBANESE",children:"Lebanese"}),e.jsx(i,{value:"ITALIAN",children:"Italian"}),e.jsx(i,{value:"MEXICAN",children:"Mexican"}),e.jsx(i,{value:"AMERICAN",children:"American"}),e.jsx(i,{value:"BRITISH",children:"British"}),e.jsx(i,{value:"DESSERTS",children:"Desserts"}),e.jsx(i,{value:"BAKERY",children:"Bakery"}),e.jsx(i,{value:"CAFE",children:"Cafe"}),e.jsx(i,{value:"SEAFOOD",children:"Seafood"}),e.jsx(i,{value:"VEGAN",children:"Vegan"}),e.jsx(i,{value:"OTHER",children:"Other"})]})]})]})]})]}),e.jsxs(v,{children:[e.jsx(E,{children:e.jsx(C,{children:"Contact"})}),e.jsxs(y,{className:"grid gap-4 sm:grid-cols-2",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(n,{htmlFor:"email",children:"Email"}),e.jsx(t,{id:"email",type:"email",...h("email"),placeholder:"[email protected]"})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(n,{htmlFor:"phone",children:"Phone"}),e.jsx(t,{id:"phone",...h("phone"),placeholder:"+44 123 456 7890"})]}),e.jsxs("div",{className:"space-y-2 sm:col-span-2",children:[e.jsx(n,{htmlFor:"notificationEmail",children:"Notification Sender Email (optional)"}),e.jsx(t,{id:"notificationEmail",type:"email",value:R,onChange:s=>D(s.target.value),placeholder:"[email protected]"}),e.jsx("p",{className:"text-xs text-muted-foreground",children:'The "From" address on order emails to customers. Its domain must be verified in SES. Leave blank to use noreply@ your primary domain.'})]}),e.jsxs("div",{className:"space-y-2 sm:col-span-2",children:[e.jsx(n,{htmlFor:"orderCcEmails",children:"Additional Order Emails (CC)"}),e.jsx(t,{id:"orderCcEmails",value:A,onChange:s=>I(s.target.value),placeholder:"[email protected], [email protected]"}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"Comma-separated. Copied on every order confirmation email."})]})]})]}),e.jsxs(v,{children:[e.jsx(E,{children:e.jsx(C,{children:"Compliance & Locale"})}),e.jsxs(y,{className:"grid gap-4 sm:grid-cols-2",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(n,{htmlFor:"taxNumber",children:"Tax Number"}),e.jsx(t,{id:"taxNumber",...h("taxNumber"),placeholder:"VAT number"})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(n,{htmlFor:"registrationNumber",children:"Registration Number"}),e.jsx(t,{id:"registrationNumber",...h("registrationNumber"),placeholder:"Company reg number"})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(n,{children:"Country"}),x?e.jsxs(d,{value:T,onValueChange:K,children:[e.jsx(o,{className:"w-full",children:e.jsx(u,{placeholder:"Select country"})}),e.jsx(m,{children:H.map(s=>e.jsx(i,{value:s.value,children:s.label},s.value))})]}):e.jsx(t,{value:H.find(s=>s.value===T)?.label??T??"",disabled:!0,className:"bg-muted"})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(n,{children:"Default Language"}),x?e.jsxs(d,{value:b,onValueChange:s=>{r("defaultLocale",s),j.includes(s)||r("supportedLocales",[...j,s])},children:[e.jsx(o,{className:"w-full",children:e.jsx(u,{})}),e.jsxs(m,{children:[e.jsx(i,{value:"en",children:"English"}),e.jsx(i,{value:"ar",children:"Arabic (Ø§ÙØ¹Ø±Ø¨ÙØ©)"})]})]}):e.jsx(t,{value:b==="ar"?"Arabic":"English",disabled:!0,className:"bg-muted"})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(n,{children:"Languages Offered"}),e.jsx("div",{className:"flex gap-2",children:["en","ar"].map(s=>{const l=j.includes(s);return e.jsx("button",{type:"button",disabled:!x,onClick:()=>Y(s),className:`rounded-md border px-3 py-1.5 text-sm disabled:opacity-70 ${l?"border-primary bg-primary/10 text-primary":"border-input text-muted-foreground"}`,children:s==="en"?"English":"Ø§ÙØ¹Ø±Ø¨ÙØ©"},s)})}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"Customers can switch between these on the website and kiosk."})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(n,{children:"Currency"}),x?e.jsxs(d,{value:S,onValueChange:s=>r("currency",s),children:[e.jsx(o,{className:"w-full",children:e.jsx(u,{})}),e.jsx(m,{children:Object.values(F).map(s=>e.jsxs(i,{value:s.code,children:[s.code," (",s.symbol,")"]},s.code))})]}):e.jsx(t,{value:`${S} (${F[S]?.symbol??""})`,disabled:!0,className:"bg-muted"})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(n,{children:"Timezone"}),x?e.jsxs(d,{value:O,onValueChange:s=>
1r("timezone",s),children:[e.jsx(o,{className:"w-full",children:e.jsx(u,{})}),e.jsx(m,{children:k.map(s=>e.jsx(i,{value:s.timezone,children:s.timezone},s.timezone))})]}):e.jsx(t,{value:O,disabled:!0,className:"bg-muted"})]})]})]}),x&&e.jsxs(v,{children:[e.jsx(E,{children:e.jsx(C,{children:"Subscription & Status"})}),e.jsxs(y,{className:"grid gap-4 sm:grid-cols-3",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(n,{children:"Status"}),e.jsxs(d,{value:Z,onValueChange:s=>r("status",s),children:[e.jsx(o,{className:"w-full",children:e.jsx(u,{})}),e.jsx(m,{children:Object.entries(te).map(([s,l])=>e.jsx(i,{value:s,children:l},s))})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(n,{children:"Subscription Tier"}),e.jsxs(d,{value:$,onValueChange:s=>r("subscriptionTier",s),children:[e.jsx(o,{className:"w-full",children:e.jsx(u,{})}),e.jsx(m,{children:Object.entries(ce).map(([s,l])=>e.jsx(i,{value:s,children:l},s))})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(n,{children:"Subscription Status"}),e.jsxs(d,{value:P,onValueChange:s=>r("subscriptionStatus",s),children:[e.jsx(o,{className:"w-full",children:e.jsx(u,{})}),e.jsx(m,{children:Object.entries(de).map(([s,l])=>e.jsx(i,{value:s,children:l},s))})]}),P==="TRIAL"&&a.trialEndsAt&&e.jsxs("p",{className:"text-xs text-muted-foreground",children:["Trial ends: ",new Date(a.trialEndsAt).toLocaleDateString()]})]})]})]}),e.jsx("div",{className:"flex justify-end",children:e.jsx(re,{type:"submit",disabled:p.isPending,children:p.isPending?"Saving...":"Save Details"})})]})]})}export{Se as BasicDetailsSettingsPage};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.