1import{r as E}from"./rolldown-runtime-b3L32Ng1.js";import{f as R,g as T,m as A}from"./vendor-react-B4z8l9H_.js";import{Dn as x,Dt as L,N as D,Or as H,pt as P,sa as U,vt as B,zr as q}from"./lucideRegistry-QWKS7J2W.js";import{t as l}from"./input-bMaHbJsY.js";import{t as g}from"./button-CsktFLsW.js";import{t as O}from"./AppTopBar-BCanSRYI.js";import{n as d}from"./toast-DJuyEgSk.js";import{c as $,n as z,o as I,r as M,s as F}from"./ecommerceStore-zr8Mo1bP.js";var c=E(T()),e=A();function j(r){const s=new URL(r);if(!["connect.stripe.com","dashboard.stripe.com"].includes(s.hostname))throw new Error("URL Stripe non valido.");window.location.assign(s.toString())}function Z(){const{siteId:r}=R(),{t:s}=U("apps"),[a,p]=(0,c.useState)(null),[i,N]=(0,c.useState)(null),[v,h]=(0,c.useState)(!0),[b,f]=(0,c.useState)(!1),[u,m]=(0,c.useState)(!1);(0,c.useEffect)(()=>{let t=!1;async function k(){if(r)try{h(!0);const[w,C]=await Promise.all([I(r),F(r).catch(()=>null)]);t||(p(w.store),N(C))}finally{t||h(!1)}}return k(),()=>{t=!0}},[r]);function n(t){a&&p({...a,settings:{...a.settings,...t}})}async function y(){if(!(!r||!a))try{f(!0);const t=await $(r,a.settings);p({...a,settings:t}),d.success(s("ecommerce.settings.saved"))}catch{d.error(s("ecommerce.settings.saveError"))}finally{f(!1)}}async function _(){if(r)try{m(!0),j(await z(r))}catch(t){d.error(t instanceof Error?t.message:s("ecommerce.settings.stripeError"))}finally{m(!1)}}async function S(){if(r)try{m(!0),j(await M(r))}catch(t){d.error(t instanceof Error?t.message:s("ecommerce.settings.dashboardUnavailable"))}finally{m(!1)}}if(v)return(0,e.jsx)("div",{className:"flex h-full items-center justify-center text-muted-foreground",children:(0,e.jsx)(x,{className:"h-6 w-6 animate-spin"})});if(!a)return null;const o=i?.connection_status==="ready"||i?.charges_enabled&&i?.payouts_enabled;return(0,e.jsxs)("div",{className:"flex-1",children:[(0,e.jsx)(O,{title:s("ecommerce.settings.title"),rightActions:(0,e.jsxs)(g,{size:"sm",onClick:y,disabled:b,className:"gap-2",children:[b?(0,e.jsx)(x,{className:"h-4 w-4 animate-spin"}):(0,e.jsx)(L,{className:"h-4 w-4"}),s("ecommerce.settings.save")]})}),(0,e.jsxs)("main",{className:"mx-auto grid w-full max-w-6xl gap-6 p-6 md:p-8",children:[(0,e.jsxs)("section",{className:"rounded-2xl border border-border bg-card p-6",children:[(0,e.jsxs)("div",{className:"mb-6 flex items-center gap-3",children:[(0,e.jsx)("div",{className:"rounded-xl bg-primary/10 p-2 text-primary",children:(0,e.jsx)(q,{className:"h-5 w-5"})}),(0,e.jsxs)("div",{children:[(0,e.jsx)("h2",{className:"text-lg font-bold",children:s("ecommerce.settings.stripePayments")}),(0,e.jsx)("p",{className:"text-sm text-muted-foreground",children:s("ecommerce.settings.stripePaymentsHint")})]})]}),(0,e.jsxs)("div",{className:`mb-5 rounded-xl border p-4 ${o?"border-emerald-500/20 bg-emerald-500/10":"border-amber-500/20 bg-amber-500/10"}`,children:[(0,e.jsx)("p",{className:`font-bold ${o?"text-emerald-700":"text-amber-700"}`,children:s(o?"ecommerce.settings.accountReady":"ecommerce.settings.accountNotReady")}),(0,e.jsx)("p",{className:`mt-1 text-sm ${o?"text-emerald-700/80":"text-amber-700/80"}`,children:i?.stripe_account_id||s("ecommerce.settings.noStripeAccount")})]}),(0,e.jsxs)("div",{className:"flex flex-wrap gap-3",children:[(0,e.jsxs)(g,{onClick:_,disabled:u,className:"gap-2",children:[u?(0,e.jsx)(x,{className:"h-4 w-4 animate-spin"}):(0,e.jsx)(P,{className:"h-4 w-4"}),s(o?"ecommerce.settings.updateOnboarding":"ecommerce.settings.connectStripe")]}),i?.stripe_account_id&&(0,e.jsxs)(g,{variant:"outline",onClick:S,disabled:u,className:"gap-2",children:[(0,e.jsx)(H,{className:"h-4 w-4"})," ",s("ecommerce.settings.openStripeDashboard")]})]})]}),(0,e.jsxs)("section",{className:"grid gap-6 lg:grid-cols-2",children:[(0,e.jsxs)("div",{className:"rounded-2xl border border-border bg-card p-6",children:[(0,e.jsxs)("div",{className:"mb-6 flex items-center gap-3",children:[(0,e.jsx)("div",{className:"rounded-xl bg-primary/10 p-2 text-primary",children:(0,e.jsx)(B,{className:"h-5 w-5"})}),(0,e.jsx)("h2",{className:"text-lg font-bold",children:s("ecommerce.settings.storefront")})]}),(0,e.jsxs)("div",{className:"space-y-4",children:[(0,e.jsxs)("label",{className:"space-y-2 block",children:[(0,e.jsx)("span",{className:"text-sm font-semibold",children:s("ecommerce.settings.storeName")}
1),(0,e.jsx)(l,{value:a.settings.store_name,onChange:t=>n({store_name:t.target.value})})]}),(0,e.jsxs)("label",{className:"space-y-2 block",children:[(0,e.jsx)("span",{className:"text-sm font-semibold",children:s("ecommerce.settings.currency")}),(0,e.jsx)(l,{value:a.settings.currency_code,onChange:t=>n({currency_code:t.target.value.toUpperCase()})})]}),(0,e.jsxs)("label",{className:"space-y-2 block",children:[(0,e.jsx)("span",{className:"text-sm font-semibold",children:s("ecommerce.settings.checkout")}),(0,e.jsxs)("select",{value:a.settings.checkout_mode,onChange:t=>n({checkout_mode:t.target.value}),className:"h-10 w-full rounded-md border border-input bg-background px-3 text-sm",children:[(0,e.jsx)("option",{value:"stripe_checkout",children:"Stripe Checkout"}),(0,e.jsx)("option",{value:"manual",children:s("ecommerce.settings.manualRequest")})]})]})]})]}),(0,e.jsxs)("div",{className:"rounded-2xl border border-border bg-card p-6",children:[(0,e.jsxs)("div",{className:"mb-6 flex items-center gap-3",children:[(0,e.jsx)("div",{className:"rounded-xl bg-primary/10 p-2 text-primary",children:(0,e.jsx)(D,{className:"h-5 w-5"})}),(0,e.jsxs)("div",{children:[(0,e.jsx)("h2",{className:"text-lg font-bold",children:s("ecommerce.settings.shippingTaxes")}),(0,e.jsx)("p",{className:"text-sm text-muted-foreground",children:s("ecommerce.settings.shippingTaxesHint")})]})]}),(0,e.jsxs)("div",{className:"space-y-4",children:[(0,e.jsxs)("label",{className:"space-y-2 block",children:[(0,e.jsx)("span",{className:"text-sm font-semibold",children:s("ecommerce.settings.shippingMode")}),(0,e.jsxs)("select",{value:a.settings.shipping_mode,onChange:t=>n({shipping_mode:t.target.value}),className:"h-10 w-full rounded-md border border-input bg-background px-3 text-sm",children:[(0,e.jsx)("option",{value:"flat_rate",children:s("ecommerce.settings.flatRate")}),(0,e.jsx)("option",{value:"free",children:s("ecommerce.settings.free")}),(0,e.jsx)("option",{value:"pickup",children:s("ecommerce.settings.pickup")})]})]}),a.settings.shipping_mode==="flat_rate"?(0,e.jsxs)("label",{className:"space-y-2 block",children:[(0,e.jsx)("span",{className:"text-sm font-semibold",children:s("ecommerce.settings.shippingRate")}),(0,e.jsx)(l,{min:"0",step:"0.01",type:"number",value:a.settings.flat_shipping_rate,onChange:t=>n({flat_shipping_rate:Number(t.target.value)})}),(0,e.jsx)("span",{className:"block text-xs text-muted-foreground",children:s("ecommerce.settings.shippingRateHint")})]}):(0,e.jsx)("div",{className:"rounded-xl border border-primary/20 bg-primary/5 p-3 text-sm text-muted-foreground",children:a.settings.shipping_mode==="free"?s("ecommerce.settings.freeShippingHint"):s("ecommerce.settings.pickupHint")}),(0,e.jsxs)("label",{className:"space-y-2 block",children:[(0,e.jsx)("span",{className:"text-sm font-semibold",children:s("ecommerce.settings.taxRate")}),(0,e.jsx)(l,{min:"0",step:"0.01",type:"number",value:a.settings.tax_rate,onChange:t=>n({tax_rate:Number(t.target.value)})})]}),(0,e.jsxs)("label",{className:"space-y-2 block",children:[(0,e.jsx)("span",{className:"text-sm font-semibold",children:s("ecommerce.settings.lowStockThreshold")}),(0,e.jsx)(l,{min:"0",step:"1",type:"number",value:a.settings.low_stock_threshold,onChange:t=>n({low_stock_threshold:Number(t.target.value)})})]})]})]})]})]})]})}export{Z as default};
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.