1import{r as e,j as t}from"./react-vendor-hAxFZxNQ.js";import{a as s,A as a,a3 as r,L as l,c as i,e as n,ao as d,ap as o,r as c}from"./main-FMm0mhBU.js";import{g as m,E as x,S as p}from"./StripePaymentForm-DsgbyfHy.js";import{A as u,P as h}from"./pricingServices-BW-GpATl.js";import{l as b,a as g,r as f,u as y,c as k}from"./bundle-CgCKhjo6.js";import"./ui-DlHKYJvh.js";import"./index-CZV6H2So.js";const j=Object.fromEntries(h.map(e=>[e.key,e])),N=Object.fromEntries(u.map(e=>[e.key,e])),v=[{qty:10,label:"10 posts",price:199,planId:"postings_managed_premium_10"},{qty:20,label:"20 posts",price:399,planId:"postings_managed_premium_20"},{qty:30,label:"30 posts",price:599,popular:!0,planId:"postings_managed_premium_30"}];function w(e,t){return"posts"===e?"premium"===t?v:j.posts?.tiers||[]:N[e]?.tiers||[]}function S(e){if(e.startsWith("postings_managed_essential_"))return"posts";if(e.startsWith("postings_managed_premium_"))return"posts";for(const t of u)if(t.tiers.some(t=>t.planId===e))return t.key;return null}function _(e){const t=w(e.serviceKey,e.tier),s=t.find(t=>t.planId===e.planId)||t.find(t=>t.qty===e.qty);return(s?.price??0)*(e.qty>0?1:0)}function C(e){return e.reduce((e,t)=>e+_(t),0)}function I({item:e,onChange:s,onRemove:a}){const r=function(e){const t=N[e];return t?{key:t.key,name:t.name,icon:t.icon,accent:t.accent,tiers:t.tiers}:null}(e.serviceKey);if(!r)return null;const l=w(e.serviceKey,e.tier),n="posts"===e.serviceKey,d=l.length<=1,o=_(e);return t.jsxs("div",{className:"rounded-2xl border border-slate-200 dark:border-slate-700 bg-white dark:bg-slate-800/60 p-4 flex flex-col gap-3 transition-shadow hover:shadow-sm",children:[t.jsxs("div",{className:"flex items-start gap-3",children:[t.jsx("div",{className:"shrink-0 w-10 h-10 rounded-lg flex items-center justify-center",style:{backgroundColor:`${r.accent}15`},children:t.jsx(i,{name:r.icon,className:"w-5 h-5",style:{color:r.accent}})}),t.jsxs("div",{className:"flex-1 min-w-0",children:[t.jsxs("div",{className:"flex items-center justify-between gap-2",children:[t.jsx("h4",{className:"font-bold text-slate-900 dark:text-white text-sm truncate",children:r.name}),t.jsxs("span",{className:"text-sm font-semibold text-slate-900 dark:text-white shrink-0",children:["$",o,"/mo"]})]}),d&&t.jsx("p",{className:"text-xs text-slate-500 dark:text-gray-400 mt-0.5",children:l[0]?.label||"Monthly service"})]}),t.jsx("button",{type:"button",onClick:a,className:"shrink-0 -mr-1 -mt-1 text-slate-400 hover:text-red-500 transition-colors p-1 rounded-md hover:bg-red-50 dark:hover:bg-red-500/10","aria-label":`Remove ${r.name}`,children:t.jsx(i,{name:"mdi:close",className:"w-4 h-4"})})]}),n&&t.jsx("div",{className:"flex gap-1 p-1 rounded-lg bg-slate-100 dark:bg-white/[0.04]",children:["essential","premium"].map(a=>{const r=(e.tier||"essential")===a;return t.jsx("button",{type:"button",onClick:()=>(t=>{const a=w("posts",t),r=a.find(t=>t.qty===e.qty)||a[0];s({...e,tier:t,qty:r.qty,planId:r.planId})})(a),className:"flex-1 py-1.5 px-3 rounded-md text-xs font-bold capitalize transition-colors "+(r?"bg-white dark:bg-slate-700 text-slate-900 dark:text-white shadow-sm":"text-slate-500 dark:text-gray-400 hover:text-slate-700 dark:hover:text-gray-200"),children:a},a)})}),!d&&t.jsx("div",{className:"flex gap-1",children:l.map(a=>{const r=a.qty===e.qty;return t.jsx("button",{type:"button",onClick:()=>(t=>{const a=l.find(e=>e.qty===t);a&&s({...e,qty:a.qty,planId:a.planId})})(a.qty),className:"flex-1 py-1.5 px-2 rounded-md text-xs font-semibold transition-colors border "+(r?"bg-primary-blue/10 text-primary-blue border-primary-blue/30":"bg-white dark:bg-slate-800 text-slate-600 dark:text-gray-300 border-slate-200 dark:border-slate-600 hover:border-primary-blue/20"),children:a.label},a.planId)})})]})}function q({bundle:s,onAdd:a}){const[r,l]=e.useState(!1),n=new Set(s.map(e=>e.serviceKey)),d=u.filter(e=>!n.has(e.key)&&e.tiers.every(e=>e.planId.startsWith("postings_managed")));return 0===d.length?null:r?t.jsxs("div",{className:"rounded-2xl border border-slate-200 dark:border-slate-700 bg-white/60 dark:bg-slate-800/40 p-4 flex flex-col gap-3",children:[t.jsxs("div",{className:"flex items-center justify-between",children:[t.jsx("h3",{className:"font-bold text-slate-900 dark:text-white text-sm",children:"Add another service"}),t.jsx("button",{type:"button",onClick:()=>l(!1),className:"text-xs text-slate-500 hover:text-slate-700 dark:hover:text-slate-300 transition-colors",children:"Hide"})]}),t.jsx("ul",{className:"flex flex-col gap-2 max-h-[420px] overflow-y-auto pr-1",children:d.map(e=>{const s=e.tiers[0];return t.jsxs("li",{className:"flex items-center justify-between gap-3 p-3 rounded-xl border border-slate-200 dark:border-slate-700 bg-white dark:bg-slate-800/60 hover:border-primary-blue/30 transition-colors",children:[t.jsxs("div",{className:"flex items-center gap-3 flex-1 min-w-0",children:[t.jsx("div",{className:"shrink-0 w-8 h-8 rounded-md flex items-center justify-center",style:{backgroundColor:`${e.accent}15`},children:t.jsx(i,{name:e.icon,className:"w-4 h-4",style:{color:e.accent}})}),t.jsxs("div",{className:"flex-1 min-w-0",children:[t.jsx("p",{className:"text-sm font-semibold text-slate-900 dark:text-white truncate",children:e.name}),t.jsxs("p",{className:"text-xs text-slate-500 dark:text-gray-400 truncate",children:["From $",e.fromPrice,"/mo"]})]})]}),t.jsxs("button",{type:"button",onClick:()=>a({serviceKey:e.key,planId:s.planId,qty:s.qty,tier:"posts"===e.key?"essential":void 0}),className:"shrink-0 inline-flex items-center gap-1.5 rounded-lg bg-slate-900 dark:bg-white text-white dark:text-slate-900 px-3 py-1.5 text-xs font-bold hover:bg-slate-700 dark:hover:bg-slate-100 transition-colors",children:[t.jsx(i,{name:"mdi:plus",className:"w-3.5 h-3.5"}),"Add"]})]},e.key)})})]}):t.jsxs("button",{type:"button",onClick:()=>l(!0),className:"w-full inline-flex items-center justify-center gap-2 rounded-lg border border-dashed border-slate-300 dark:border-slate-700 bg-transparent px-4 py-3 text-sm font-semibold text-slate-600 dar
1k:text-slate-400 hover:border-primary-blue/40 hover:text-primary-blue dark:hover:text-primary-blue transition-colors",children:[t.jsx(i,{name:"mdi:plus",className:"w-4 h-4"}),"Add another service",t.jsxs("span",{className:"text-xs text-slate-400 dark:text-slate-500",children:["(",d.length," available)"]})]})}function E({bundle:e,discountCents:s,totalCents:a,appliedPromo:r,promoApplying:l,promoError:n,promoInput:d,onPromoChange:o,onApplyPromo:c,onRemovePromo:m,step:x}){const p=C(e),u=a??100*p-s;return 0===e.length?null:t.jsxs("div",{className:"flex flex-col gap-4 rounded-2xl bg-white/80 dark:bg-slate-800/90 backdrop-blur-md p-5 border border-slate-200 dark:border-slate-700",children:[s>0&&t.jsxs(t.Fragment,{children:[t.jsxs("div",{className:"flex justify-between items-baseline text-sm",children:[t.jsx("span",{className:"text-slate-500 dark:text-gray-400",children:"Subtotal"}),t.jsxs("span",{className:"text-slate-900 dark:text-white",children:["$",p.toFixed(2)]})]}),t.jsxs("div",{className:"flex justify-between items-baseline text-sm",children:[t.jsxs("span",{className:"text-emerald-600 dark:text-emerald-400 flex items-center gap-2",children:["Discount",r?` (${r.toUpperCase()})`:"","billing"===x&&t.jsx("button",{type:"button",onClick:m,className:"text-xs text-slate-400 hover:text-red-500 transition-colors underline-offset-2 hover:underline",children:"Remove"})]}),t.jsxs("span",{className:"text-emerald-600 dark:text-emerald-400",children:["-$",(s/100).toFixed(2)]})]}),t.jsx("div",{className:"border-t border-slate-100 dark:border-slate-700"})]}),t.jsxs("div",{className:"flex justify-between items-baseline",children:[t.jsx("span",{className:"text-base font-bold text-slate-900 dark:text-white",children:"Total"}),t.jsxs("div",{className:"flex items-baseline gap-2",children:[t.jsx("span",{className:"text-xs text-slate-500 dark:text-gray-400 font-normal",children:"USD"}),t.jsxs("span",{className:"text-2xl font-extrabold text-slate-900 dark:text-white",children:["$",(u/100).toFixed(2),t.jsx("span",{className:"text-sm font-normal text-slate-500",children:"/mo"})]})]})]}),"billing"===x&&0===s&&t.jsxs("div",{className:"pt-3 border-t border-slate-100 dark:border-slate-700",children:[t.jsx("label",{className:"block text-xs font-medium text-slate-700 dark:text-gray-300 mb-1.5 uppercase tracking-wider",htmlFor:"promoCode",children:"Promo Code"}),t.jsxs("div",{className:"flex gap-2",children:[t.jsx("input",{id:"promoCode",className:"flex-1 rounded-lg bg-white dark:bg-slate-800 border py-2.5 px-3 text-sm text-slate-900 dark:text-white focus:border-primary focus:ring-1 focus:ring-primary shadow-sm placeholder-slate-400 uppercase tracking-wider placeholder:normal-case placeholder:tracking-normal "+(n?"border-red-500":"border-slate-300 dark:border-slate-600"),placeholder:"Optional",value:d,onChange:e=>o(e.target.value),onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),c())},disabled:l}),t.jsx("button",{type:"button",onClick:c,disabled:l||!d.trim(),className:"rounded-lg bg-slate-900 dark:bg-white text-white dark:text-slate-900 px-4 text-xs font-bold uppercase tracking-wider hover:bg-slate-700 dark:hover:bg-slate-200 transition-colors disabled:opacity-40 disabled:cursor-not-allowed",children:l?"...":"Apply"})]}),n&&t.jsx("p",{className:"mt-1.5 text-xs text-red-500",children:n})]}),t.jsxs("div",{className:"flex items-center justify-center gap-4 pt-3 border-t border-slate-100 dark:border-slate-700",children:[t.jsxs("div",{className:"flex items-center gap-1.5 text-xs text-slate-500 dark:text-gray-400",children:[t.jsx(i,{name:"mdi:lock",className:"w-4 h-4"}),t.jsx("span",{children:"Secure checkout"})]}),t.jsx("div",{className:"flex items-center gap-1.5 text-xs text-slate-500 dark:text-gray-400",children:t.jsx(i,{name:"logos:stripe",className:"w-8 h-4"})})]})]})}const F=function(){const u=s(),[h,j]=e.useState("billing"),[N,v]=e.useState(()=>b()),[w,_]=e.useState(null),[F,P]=e.useState(null),[A,$]=e.useState(null),[z]=e.useState(()=>`bundle-${Math.random().toString(36).slice(2)}-${Date.now()}`),[K,R]=e.useState(!1),[O,B]=e.useState(!1),[D,J]=e.useState(null),[M,U]=e.useState(null),[W,L]=e.useState(!1),[Y,H]=e.useState(0),[T,V]=e.useState(null),[Z,G]=e.useState(null),[Q,X]=e.useState(""),[ee,te]=e.useState(!1),[se,ae]=e.useState(null),re="undefined"!=typeof window?JSON.parse(localStorage.getItem("user")||"{}"):{},[le,ie]=e.useState({firstName:re.first_name||"",lastName:re.last_name||"",email:re.email||"",phone:"",address:"",city:"",state:"",zip:"",country:"US"}),[ne,de]=e.useState({});e.useEffect(()=>{function e(e){"bundle"===e.key&&v(b())}return window.addEventListener("storage",e),()=>window.removeEventListener("storage",e)},[]),e.useEffect(()=>{let e=!1;return a.getActiveBundle().then(t=>{e||U(t.subscription)}).catch(()=>{e||U(null)}).finally(()=>{e||L(!0)}),()=>{e=!0}},[]);const oe=e.useMemo(()=>new Set((M?.items||[]).map(e=>e.plan_id)),[M]),ce=e.useMemo(()=>N.filter(e=>!oe.has(e.planId)),[N,oe]),me=null!==M,xe=e=>{v(y(e.serviceKey,e)),Y>0&&(H(0),V(null),G(null))}
1,pe=async e=>{if(e?.preventDefault(),0!==N.length){if(me){if(0===ce.length)return void J("Everything in your order is already on your subscription â nothing to add.");B(!0),J(null);try{await a.addBundleItems({items:ce.map(e=>({plan_id:e.planId,quantity:1}))}),k();try{const e=await fetch(n("/api/v1/auth_status/"),{credentials:"include"}),t=await e.json();t.subscriptions&&localStorage.setItem("subscriptions",JSON.stringify(t.subscriptions)),t.user&&localStorage.setItem("user",JSON.stringify(t.user)),window.dispatchEvent(new Event("authChange"))}catch{}u({to:"/managed-postings/dashboard"})}catch(t){J(t instanceof Error?t.message:"Failed to add services to your subscription.")}finally{B(!1)}}else if((()=>{const e={};return le.email.trim()?/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(le.email)||(e.email="Invalid email"):e.email="Email is required",le.firstName.trim()||(e.firstName="Required"),le.lastName.trim()||(e.lastName="Required"),de(e),0===Object.keys(e).length})()){B(!0),J(null);try{const e=d(),t=await a.createBundle({items:N.map(e=>({plan_id:e.planId,quantity:1})),email:le.email,first_name:le.firstName,last_name:le.lastName,phone:le.phone,billing_address:le.address,billing_city:le.city,billing_state:le.state,billing_zip:le.zip,billing_country:le.country,promo_code:Z?Q.trim():void 0,attribution:e,idempotency_key:z});H(t.discount_amount),V(t.total_amount),o("InitiateCheckout",{value:t.total_amount/100,currency:t.currency.toUpperCase(),content_name:"Bundle Checkout",content_ids:t.items.map(e=>e.plan_id)}),_(t.client_secret),P(t.subscription_id),$(t.stripe_subscription_id||null),j("payment")}catch(t){J(t instanceof Error?t.message:"Failed to initialize payment.")}finally{B(!1)}}}else J("Add at least one service to your order.")},ue=e.useMemo(()=>m(),[]);return t.jsxs("div",{className:"min-h-screen bg-slate-50 dark:bg-slate-900",children:[t.jsx("div",{className:"fixed inset-0 pointer-events-none",style:{backgroundImage:"\n radial-gradient(at 0% 0%, rgba(99, 102, 241, 0.08) 0px, transparent 50%),\n radial-gradient(at 100% 100%, rgba(139, 92, 246, 0.05) 0px, transparent 50%),\n linear-gradient(to right, rgba(99, 102, 241, 0.04) 1px, transparent 1px),\n linear-gradient(to bottom, rgba(99, 102, 241, 0.04) 1px, transparent 1px)\n ",backgroundSize:"100% 100%, 100% 100%, 40px 40px, 40px 40px"}}),t.jsx(r,{}),t.jsx("main",{className:"relative z-10 px-4 py-8 lg:px-20 lg:py-12",children:t.jsx("div",{className:"max-w-[1200px] mx-auto",children:t.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-12 gap-10 items-start",children:[t.jsxs("div",{className:"lg:col-span-6 flex flex-col gap-6",children:[t.jsxs("nav",{className:"flex items-center text-xs md:text-sm font-medium text-slate-500 dark:text-gray-400 mb-2",children:[t.jsx(l,{to:"/pricing",className:"hover:text-primary transition-colors",children:"Pricing"}),t.jsx("span",{className:"mx-2 text-slate-300 dark:text-gray-600",children:"/"}),t.jsx("span",{className:"billing"===h?"text-slate-900 dark:text-white font-bold":"hover:text-primary cursor-pointer transition-colors",children:"Billing"}),t.jsx("span",{className:"mx-2 text-slate-300 dark:text-gray-600",children:"/"}),t.jsx("span",{className:"payment"===h?"text-slate-900 dark:text-white font-bold":"text-slate-400 cursor-not-allowed",children:"Payment"})]}),W&&me&&"billing"===h&&t.jsxs("div",{className:"rounded-2xl border border-primary-blue/30 bg-primary-blue/[0.04] dark:bg-primary-blue/10 p-4 flex items-start gap-3",children:[t.jsx("div",{className:"shrink-0 w-9 h-9 rounded-lg bg-primary-blue/10 flex items-center justify-center",children:t.jsx(i,{name:"mdi:layers-plus",className:"w-5 h-5 text-primary-blue"})}),t.jsxs("div",{className:"flex-1 min-w-0",children:[t.jsx("p",{className:"text-sm font-bold text-slate-900 dark:text-white",children:"Adding to your existing subscription"}),t.jsx("p",{className:"text-xs text-slate-600 dark:text-gray-300 mt-0.5",children:"New services bill to your existing plan â same payment method, one bill, prorated for the partial month."})]})]}),"billing"===h?me?t.jsxs("div",{className:"rounded-2xl bg-white dark:bg-slate-800/60 border border-slate-200 dark:border-slate-700 p-6 text-sm text-slate-600 dar
1k:text-gray-300",children:[t.jsx("p",{className:"font-bold text-slate-900 dark:text-white mb-1",children:"You're all set"}),t.jsx("p",{children:'We\'ll use your saved payment method. Edit your order on the right, then click "Add to subscription" to confirm.'})]}):t.jsxs(t.Fragment,{children:[t.jsxs("section",{className:"flex flex-col gap-1",children:[t.jsx("h2",{className:"text-lg font-extrabold tracking-tight text-slate-900 dark:text-white",children:"Billing details"}),t.jsx("p",{className:"text-slate-500 dark:text-gray-400 text-sm",children:"Where should we send your invoices?"})]}),t.jsxs("form",{id:"bundleCheckoutForm",className:"flex flex-col gap-4",onSubmit:pe,children:[t.jsxs("div",{children:[t.jsxs("label",{className:"block text-xs font-medium text-slate-700 dark:text-gray-300 mb-1.5 uppercase tracking-wider",htmlFor:"email",children:["Email Address ",t.jsx("span",{className:"text-red-500",children:"*"})]}),t.jsx("input",{className:"w-full rounded-lg bg-white dark:bg-slate-800 border py-3 px-4 text-sm text-slate-900 dark:text-white focus:border-primary focus:ring-1 focus:ring-primary shadow-sm placeholder-slate-400 "+(ne.email?"border-red-500":"border-slate-300 dark:border-slate-600"),id:"email",type:"email",placeholder:"[email protected]",value:le.email,onChange:e=>{ie(t=>({...t,email:e.target.value})),ne.email&&de(e=>({...e,email:""}))}}),ne.email&&t.jsx("p",{className:"mt-1 text-xs text-red-500",children:ne.email})]}),t.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[t.jsxs("div",{children:[t.jsxs("label",{className:"block text-xs font-medium text-slate-700 dark:text-gray-300 mb-1.5 uppercase tracking-wider",htmlFor:"firstName",children:["First Name ",t.jsx("span",{className:"text-red-500",children:"*"})]}),t.jsx("input",{className:"w-full rounded-lg bg-white dark:bg-slate-800 border py-3 px-4 text-sm text-slate-900 dark:text-white focus:border-primary focus:ring-1 focus:ring-primary shadow-sm placeholder-slate-400 "+(ne.firstName?"border-red-500":"border-slate-300 dark:border-slate-600"),id:"firstName",placeholder:"John",value:le.firstName,onChange:e=>{ie(t=>({...t,firstName:e.target.value})),ne.firstName&&de(e=>({...e,firstName:""}))}}),ne.firstName&&t.jsx("p",{className:"mt-1 text-xs text-red-500",children:ne.firstName})]}),t.jsxs("div",{children:[t.jsxs("label",{className:"block text-xs font-medium text-slate-700 dark:text-gray-300 mb-1.5 uppercase tracking-wider",htmlFor:"lastName",children:["Last Name ",t.jsx("span",{className:"text-red-500",children:"*"})]}),t.jsx("input",{className:"w-full rounded-lg bg-white dark:bg-slate-800 border py-3 px-4 text-sm text-slate-900 dark:text-white focus:border-primary focus:ring-1 focus:ring-primary shadow-sm placeholder-slate-400 "+(ne.lastName?"border-red-500":"border-slate-300 dark:border-slate-600"),id:"lastName",placeholder:"Doe",value:le.lastName,onChange:e=>{ie(t=>({...t,lastName:e.target.value})),ne.lastName&&de(e=>({...e,lastName:""}))}}),ne.lastName&&t.jsx("p",{className:"mt-1 text-xs text-red-500",children:ne.lastName})]})]}),t.jsxs("div",{children:[t.jsx("label",{className:"block text-xs font-medium text-slate-700 dark:text-gray-300 mb-1.5 uppercase tracking-wider",htmlFor:"phone",children:"Phone"}),t.jsx("input",{className:"w-full rounded-lg bg-white dark:bg-slate-800 border border-slate-300 dark:border-slate-600 py-3 px-4 text-sm text-slate-900 dark:text-white focus:border-primary focus:ring-1 focus:ring-primary shadow-sm placeholder-slate-400",id:"phone",type:"tel",placeholder:"(555) 123-4567",value:le.phone,onChange:e=>ie(t=>({...t,phone:e.target.value}))})]}),t.jsxs("div",{children:[t.jsx("label",{className:"block text-xs font-medium text-slate-700 dark:text-gray-300 mb-1.5 uppercase tracking-wider",htmlFor:"address",children:"Street Address"}),t.jsx("input",{className:"w-full rounded-lg bg-white dark:bg-slate-800 border border-slate-300 dark:border-slate-600 py-3 px-4 text-sm text-slate-900 dark:text-white focus:border-primary focus:ring-1 focus:ring-primary shadow-sm placeholder-slate-400",id:"address",placeholder:"123 Main Street",value:le.address,onChange:e=>ie(t=>({...t,address:e.target.value}))})]}),t.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-4",children:[t.jsxs("div",{children:[t.jsx("label",{className:"block text-xs font-medium text-slate-700 dark:text-gray-300 mb-1.5 uppercase tracking-wider",htmlFor:"city",children:"City"}),t.jsx("input",{className:"w-full rounded-lg bg-white dark:bg-slate-800 border border-slate-300 dark:border-slate-600 py-3 px-4 text-sm text-slate-900 dark:text-white focus:border-primary focus:ring-1 focus:ring-primary shadow-sm placeholder-slate-400",id:"city",placeholder:"San Francisco",value:le.city,onChange:e=>ie(t=>({...t,city:e.target.value}))})]}),t.jsxs("div",{children:[t.jsx("label",{className:"block text-xs font-medium text-slate-700 dark:text-gray-300 mb-1.5 uppercase tracking-wider",htmlFor:"state",children:"State"}),t.jsx("input",{className:"w-full rounded-lg bg-white dark:bg-slate-800 border border-slate-300 dark:border-slate-600 py-3 px-4 text-sm text-slate-900 dark:text-white focus:border-primary focus:ring-1 focus:ring-primary shadow-sm placeholder-slate-400",id:"state",placeholder:"CA",value:le.state,onChange:e=>ie(t=>({...t,state:e.target.value}))})]}),t.jsxs("div",{children:[t.jsx("label",{className:"block text-xs font-medium text-slate-700 dark:text-gray-300 mb-1.5 uppercase tracking-wider",htmlFor:"zip",children:"ZIP"}),t.jsx("input",{className:"w-full rounded-lg bg-white dark:bg-slate-800 border border-slate-300 dark:border-slate-600 py-3 px-4 text-sm text-slate-900 dark:text-white focus:border-primary focus:ring-1 focus:ring-primary shadow-sm placeholder-slate-400",id:"zip",placeholder:"94102",value:le.zip,onChange:e=>ie(t=>({...t,zip:e.target.value}))})]})]})]})]}):t.jsxs(t.Fragment,{children:[t.jsxs("div",{className:"flex flex-col gap-1 pb-4",children:[t.jsx("h2",{className:"text-lg font-extrabold tracking-tight text-slate-900 dark:text-white",children:"Payment details"}),t.jsx("p",{className:"text-slate-500 dark:text-gray-400 text-sm",children:"Complete your purchase securely with Stripe."})]}),t.jsx("div",{className:"rounded-2xl bg-white dark:bg-slate-800 p-6 shadow-sm border border-slate-200 dark:border-slate-700",children:w&&ue?t.jsx(x,{stripe:ue,options:{clientSecret:w,appearance:{theme:"stripe",variables:{colorPrimary:"#6366f1",borderRadius:"8px"}}},children:t.jsx(p,{orderId:F,confirmationPath:"/managed-postings/thank-you",onSuccess:async()=>
1{if(K)return;if(R(!0),F)try{await a.confirmSubscription(F)}catch{}try{const e=await fetch(n("/api/v1/auth_status/"),{credentials:"include"}),t=await e.json();t.subscriptions&&localStorage.setItem("subscriptions",JSON.stringify(t.subscriptions)),t.user&&localStorage.setItem("user",JSON.stringify(t.user)),window.dispatchEvent(new Event("authChange"))}catch{}k();const e=new URLSearchParams;null!==T&&e.set("value",String(T/100)),A?e.set("sub",A):F&&e.set("sub",F);const t=e.toString()?`?${e.toString()}`:"";window.location.href=c(`/managed-postings/thank-you${t}`)},onError:e=>J(e)})}):t.jsx("div",{className:"flex items-center justify-center py-12",children:t.jsxs("div",{className:"flex flex-col items-center gap-4",children:[t.jsx("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-primary"}),t.jsx("p",{className:"text-sm text-slate-500 dark:text-gray-400",children:"Initializing payment..."})]})})}),t.jsx("div",{className:"flex items-center pt-4",children:t.jsxs("button",{type:"button",onClick:()=>j("billing"),className:"flex items-center gap-2 text-sm font-medium text-slate-500 hover:text-primary transition-colors",children:[t.jsx(i,{name:"mdi:arrow-left",className:"w-4 h-4"}),"Back to billing"]})})]}),D&&"billing"===h&&t.jsxs("div",{className:"flex items-center gap-2 p-3 bg-red-50 dark:bg-red-900/20 rounded-lg border border-red-200 dark:border-red-800",children:[t.jsx(i,{name:"mdi:alert-circle",className:"w-4 h-4 text-red-600 dark:text-red-400"}),t.jsx("span",{className:"text-sm text-red-700 dark:text-red-300",children:D})]}),"billing"===h&&t.jsxs(l,{to:"/pricing",className:"flex items-center gap-2 text-sm font-medium text-slate-500 hover:text-primary transition-colors",children:[t.jsx(i,{name:"mdi:arrow-left",className:"w-4 h-4"}),"Back to pricing"]})]}),t.jsxs("div",{className:"lg:col-span-6 lg:sticky lg:top-28 flex flex-col gap-6",children:[t.jsxs("section",{className:"rounded-2xl bg-white/80 dark:bg-slate-800/90 backdrop-blur-md border border-slate-200 dark:border-slate-700 p-5 flex flex-col gap-4",children:[t.jsxs("div",{className:"flex items-center justify-between pb-3 border-b border-slate-100 dark:border-slate-700",children:[t.jsx("h3",{className:"font-bold text-slate-900 dark:text-white",children:"Your order"}),t.jsxs("span",{className:"text-xs text-slate-500 dark:text-gray-400",children:[N.length," ",1===N.length?"service":"services"]})]}),0===N.length?t.jsx("div",{className:"rounded-xl border border-dashed border-slate-300 dark:border-slate-700 bg-white/40 dark:bg-slate-800/40 p-5 text-center",children:t.jsx("p",{className:"text-sm text-slate-500 dark:text-gray-400",children:"Your order is empty. Add a service below to get started."})}):t.jsx("div",{className:"flex flex-col gap-3",children:N.map(e=>t.jsx(I,{item:e,onChange:xe,onRemove:()=>{return t=e.serviceKey,v(f(t)),void(Y>0&&(H(0),V(null),G(null)));var t}},e.serviceKey))})]}),t.jsx(q,{bundle:N.concat((M?.items||[]).map(e=>({serviceKey:S(e.plan_id)||e.plan_id,planId:e.plan_id,qty:e.quantity||1}))),onAdd:e=>{v(g(e)),Y>0&&(H(0),V(null),G(null))}}),t.jsx(E,{bundle:N,discountCents:Y,totalCents:T,appliedPromo:Z,promoApplying:ee,promoError:se,promoInput:Q,onPromoChange:e=>{X(e),se&&ae(null)},onApplyPromo:async()=>{const e=Q.trim();if(e&&0!==N.length){te(!0),ae(null);try{const t=N[0],s=await a.validatePromoCode(t.planId,e);H(s.discount_amount),V(100*C(N)-s.discount_amount),G(s.code)}catch(t){ae(t instanceof Error?t.message:"Invalid promo code."),H(0),V(null),G(null)}finally{te(!1)}}},onRemovePromo:()=>{H(0),V(null),G(null),X(""),ae(null)},step:h}),"billing"===h&&t.jsx("button",{type:"button",onClick:()=>pe(),disabled:O||0===N.length||me&&0===ce.length,className:"w-full rounded-lg bg-primary py-4 px-8 text-center text-sm font-bold uppercase tracking-widest text-white shadow-lg shadow-blue-200 dark:shadow-none hover:bg-blue-700 transition-all focus:outline-none focus:ring-2 focus:ring-primary focus:ring-offset-2 dark:focus:ring-offset-slate-800 transform hover:-translate-y-0.5 disabled:opacity-50 disabled:cursor-not-allowed",children:O?t.jsxs("span",{className:"flex items-center justify-center gap-2",children:[t.jsx(i,{name:"mdi:loading",className:"w-5 h-5 animate-spin"}),"Processing..."]}):me?`Add ${ce.length} service${1===ce.length?"":"s"} to subscription`:"Continue to payment"})]})]})})})]})};export{F as component};
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.