1import{aQ as a,B as e,w as l,E as s,l as t,aR as r,aS as n,bJ as i,u as o,aT as u,aU as c,b0 as d,r as v,s as p,y as _,e as m,aV as g,aW as y,aX as h,bo as b,bI as f,bs as w,bp as k,aZ as S,bx as M,bC as C,bn as P,bA as N,a_ as F,by as x,bz as B,cB as z,a$ as A,b1 as T,dp as Y,bm as G}from"./index-B7717Xy-.js";import{d as I,b as R,a as E,P as q,c as D,S as U,B as O,e as $}from"./billing-BXoFMNbv.js";import{b as j}from"./date-CUw3Qvze.js";const L={key:0,class:"loading-container"},Q={key:1,class:"billing-content"},W={key:0,class:"hero-card"},H={class:"hero-card__top"},X={class:"hero-card__info"},J={class:"hero-card__title"},K={key:0,class:"hero-card__subtitle"},V={key:0,class:"hero-card__copy"},Z={key:1,class:"hero-card__copy"},aa=["disabled"],ea={class:"upgrade-hero"},la={class:"upgrade-hero__plan"},sa={class:"hero-card__title"},ta={class:"upgrade-hero__price"},ra={class:"upgrade-hero__amount"},na={class:"upgrade-hero__annual"},ia=["disabled"],oa={class:"ollie-card"},ua={class:"ollie-card__head"},ca={class:"ollie-card__icon"},da={class:"ollie-card__roles"},va={class:"ollie-role__label"},pa={class:"ollie-role__copy"},_a={class:"card"},ma={class:"feature-grid"},ga={class:"feature-tile__icon","aria-hidden":"true"},ya={class:"feature-tile__body"},ha={class:"feature-tile__label"},ba={class:"feature-tile__desc"},fa={class:"card"},wa={class:"compare"},ka={class:"compare__label"},Sa={class:"compare__cell"},Ma={key:0,class:"compare__yes",role:"img","aria-label":"Included"},Ca={key:1,class:"compare__no",role:"img","aria-label":"Not included"},Pa={key:2},Na={class:"compare__cell compare__cell--pro"},Fa={key:0,class:"compare__yes",role:"img","aria-label":"Included"},xa={key:1,class:"compare__no",role:"img","aria-label":"Not included"},Ba={key:2},za={class:"closing-cta"},Aa=["disabled"],Ta={key:2,class:"card"},Ya={class:"card__header"},Ga={class:"status-pill"},Ia={class:"card__description"},Ra={class:"seat-breakdown__value"},Ea={key:0},qa={class:"seat-breakdown__value"},Da={key:0,class:"seat-quantity-row"},Ua=["disabled"],Oa={class:"seat-quantity"},$a={class:"seat-quantity__value"},ja=["disabled"],La=["disabled"],Qa=["disabled"],Wa={key:3,class:"card"},Ha={class:"card__header"},Xa={class:"card__eyebrow"},Ja={class:"card__title"},Ka={class:"progress-block"},Va={class:"progress-meta"},Za={class:"progress-value"},ae={class:"progress-reset"},ee={class:"progress-track","aria-hidden":"true"},le={key:0,class:"zero-state-copy"},se={key:0,class:"action-row"},te=["disabled"],re=["disabled"],ne={key:1,class:"action-row"},ie=["disabled"],oe={key:2,class:"sms-info"},ue={key:1,class:"card__description"},ce={key:2,class:"notice-card"},de={key:3,class:"sms-tier-picker"},ve=["aria-pressed","onClick"],pe={class:"radio-tier__content"},_e={class:"radio-tier__top"},me={class:"radio-tier__name"},ge={class:"radio-tier__price"},ye={class:"radio-tier__description"},he=["disabled"],be={key:0,class:"tier-note"},fe={key:4,class:"card"},we={class:"card__header"},ke={class:"progress-block"},Se={class:"progress-meta"},Me={class:"progress-value"},Ce={class:"progress-reset"},Pe={class:"progress-track","aria-hidden":"true"},Ne={key:5,class:"card"},Fe={class:"payment-display"},xe=["disabled"],Be=G(a({__name:"BillingPage",setup(a){const G=c(),Be=d(),{showToast:ze}=e(),Ae=v(null),Te=v(null),Ye=v(null),Ge=v(!0),Ie=v(!1),Re=v(!1),Ee=v(!1),qe=v(!1),De=v(!1),Ue=v(!1),Oe=v(""),$e=v(null),je=v(0),Le="price_1TzSkeEGzYalFGrmMKsFyFb5".trim(),Qe="price_1TzSkeEGzYalFGrmx5DFx5jF".trim(),We="price_1TCS8DEGzYalFGrmXiunvrrp".trim(),He="price_1TCS88EGzYalFGrmR70DHQpM".trim(),Xe="price_1TCS83EGzYalFGrmucCY4Orj".trim(),Je=D,Ke=E,Ve=q,Ze=U,al=I.filter(a=>"ollie"!==a.id),el=[{label:"For your coordinators",copy:"Ask in plain language: start an intake, update a record, check who still needs placement, or draft a plea."},{label:"For your fosters",copy:'Feeding, meds, and the 2am "is this normal?" answered instantly, with their animals already in context.'}],ll=m(()=>[Qe?{id:Qe,kicker:"Best value",name:"Pro Yearly",price:E,period:"/month",note:"Billed as ".concat(q,"/year, starting today."),summary:"Best for teams that already know Pro will be part of day-to-day foster coordination.",ctaLabel:"Get Pro Yearly",badge:"Default"}
1:null,Le?{id:Le,kicker:"Most flexible",name:"Pro Monthly",price:D,period:"/month",note:"No yearly commitment. Billed monthly, starting today.",summary:"Choose month-to-month billing while keeping every Pro feature unlocked.",ctaLabel:"Get Pro Monthly",badge:null}:null].filter(a=>Boolean(a))),sl=m(()=>[We?{id:We,name:"500 messages / month",description:"Great for smaller programs starting SMS alerts.",price:"$20 / month",allowance:500}:null,He?{id:He,name:"2,000 messages / month",description:"Built for busy teams sending texts every week.",price:"$65 / month",allowance:2e3}:null,Xe?{id:Xe,name:"10,000 messages / month",description:"Best for high-volume organizations running SMS heavily.",price:"$250 / month",allowance:1e4}:null].filter(a=>Boolean(a))),tl=m(()=>{var a,e;const l=null==(e=null==(a=Ae.value)?void 0:a.staffProfile)?void 0:e.organization_id,s=Number.parseInt(String(null!=l?l:""),10);return Number.isInteger(s)?s:null}),rl=m(()=>{var a;const e=null==(a=Te.value)?void 0:a.plan_expires_at;if(!e)return null;const l=new Date(e);return Number.isNaN(l.getTime())?null:l}),nl=m(()=>{var a;const e=Y(null==(a=Te.value)?void 0:a.plan);return rl.value&&rl.value.getTime()<=Date.now()?"starter":e}),il=m(()=>"starter"===nl.value),ol=m(()=>"enterprise"===nl.value),ul=m(()=>Ie.value?"Redirecting...":"Manage plan"),cl=m(()=>Ie.value?"Redirecting...":"Upgrade to Pro"),dl=a=>{if(!a)return null;const e=a instanceof Date?a:new Date(a);return Number.isNaN(e.getTime())?null:e.toLocaleDateString("en-US",{month:"short",day:"numeric"})},vl=m(()=>{var a;return dl((null==(a=Ye.value)?void 0:a.next_renewal_at)||null)||null}),pl=m(()=>{var a,e;const l=((a,e)=>{const l="number"==typeof a?a:null;if(null===l||!Number.isInteger(l)||l<=0)return null;const s="year"===e?"year":"month",t=l/100,r=Number.isInteger(t)?"$".concat(t):"$".concat(t.toFixed(2));return"".concat(r,"/").concat(s)})(null==(a=Ye.value)?void 0:a.plan_price_amount_cents,null==(e=Ye.value)?void 0:e.plan_price_interval);return l||null}),_l=m(()=>il.value?"Starter (Free)":"enterprise"===nl.value?"Enterprise":"Pro"),ml=m(()=>{if(il.value)return null;const a=[_l.value];return pl.value&&a.push(pl.value),vl.value&&a.push("Renews ".concat(vl.value)),a.length<=1?null:a.join(" · ")}),gl=m(()=>{var a;return Number((null==(a=Ye.value)?void 0:a.sms_addon_allowance)||0)}),yl=m(()=>{var a;return Number((null==(a=Ye.value)?void 0:a.sms_monthly_allowance)||0)}),hl=m(()=>{var a;return Math.max(0,Number((null==(a=Ye.value)?void 0:a.sms_credits)||0))}),bl=m(()=>yl.value>0),fl=m(()=>gl.value>0),wl=m(()=>ol.value&&fl.value),kl=m(()=>!ol.value&&Boolean($e.value)),Sl=m(()=>!il.value),Ml=m(()=>!il.value),Cl=m(()=>{var a,e;const l=Number((null==(a=$e.value)?void 0:a.included_staff_seats)||0),s=Number((null==(e=$e.value)?void 0:e.used_staff_seats)||0);return Math.max(0,s-l)}),Pl=m(()=>je.value>Cl.value),Nl=m(()=>{var a;return je.value!==Number((null==(a=$e.value)?void 0:a.purchased_staff_seats)||0)}),Fl=m(()=>{var a;if(il.value)return"Starter includes 1 staff seat; Pro includes up to 5, with additional seats available at $15/month.";const e=Number((null==(a=$e.value)?void 0:a.pending_staff_invite_count)||0),l=0===e?"No pending invitations.":"".concat(e," pending invitation").concat(1===e?"":"s"," currently reserve").concat(1===e?"s":""," a seat.");return"".concat(l," Active staff and pending invitations both reserve a seat.")}),xl=m(()=>{var a;return 0===Number((null==(a=$e.value)?void 0:a.purchased_staff_seats)||0)&&je.value>0?"Add seat for $15/month":"Save seat quantity"}),Bl=m(()=>{const a=gl.value;return sl.value.find(e=>e.allowance===a)||null}),zl=m(()=>{var a;return(null==(a=Ye.value)?void 0:a.sms_credits_reset_at)&&dl(Ye.value.sms_credits_reset_at)||"Not yet refilled"}),Al=m(()=>hl.value>0?"Active":"Empty"),Tl=m(()=>ol.value&&!fl.value?"Included":bl.value?"SMS Credits":"SMS"),Yl=m(()=>ol.value&&!fl.value?"SMS Credits (included)":bl.value?"SMS Credits":"SMS Notifications"),Gl=m(()=>bl.value?Math.max(0,Math.min(100,hl.value/yl.value*100)):0),Il=m(()=>"".concat(Gl.value,"%")),Rl=m(()=>0===hl.value||Gl.value<10?"progress-fill--red":Gl.value<=25?"progress-fill--amber":"progress-fill--green"),El=m(()=>bl.value),ql=m(()=>!il.value&&0!==sl.value.length&&(!fl.value&&!ol.value||Ue.value)),Dl=m(()=>Re.value?"Saving...":fl.value?ol.value?"Change bundle":"Change plan":ol.value?"Add SMS bundle":"Add to my plan"),Ul=m(()=>{var a;return Number((null==(a=Ye.value)?void 0:a.ai_message_allowance)||0)}),Ol=m(()=>{var a;return Math.max(0,Number((null==(a=Ye.value)?void 0:a.ai_messages_remaining)||0))}),$l=m(()=>Ul.value>0),jl=m(()=>{var a;return(null==(a=Ye.value)?void 0:a.ai_messages_reset_at)?j(Ye.value.ai_messages_reset_at):"the 1st"}),Ll=m(()=>Ul.value<=0?0:Math.max(0,Math.min(100,Ol.value/Ul.value*100))),Ql=m(()=>"".concat(Ll.value,"%")),Wl=m(()=>0===Ol.value||Ll.value<10?"progress-fill--red":Ll.value<=25?"progress-fill--amber":"progress-fill--green"),Hl=m(()=>{var a;return(null==(a=Ye.value)?void 0:a.payment_method_display)||"No payment method on file"}),Xl=()=>{De.value||(De.value=!0,setTimeout(()=>{history.length>1?G.back():G.replace("/home")},260))},Jl=()=>{Ie.value||(qe.value=!1)},Kl=async(a,e)=>{var l,s;if(tl.value)if(a){Ie.value=!0;try{const l=await R.startCheckout(tl.value,a,e);window.location.assign(l)}catch(r){t.error("Failed to start Stripe checkout from billing page:",r);const a=(null==(s=null==(l=null==r?void 0:r.response)?void 0:l.data)?void 0:s.error)||(null==r?void 0:r.message)||"Failed to open checkout. Please try again.";await ze(a,"danger"),Ie.value=!1}}else await ze("That billing option is not configured yet.","danger");else await ze("Billing is unavailable because your organization is missing.","danger")},Vl=async()=>{var a,e;if(tl.value){Ie.value=!0;try{const a=await R.openPortal(tl.value);window.location.assign(a)}catch(l){t.error("Failed to open Stripe portal:",l);const s=(null==(e=null==(a=null==l?void 0:l.response)?void 0:a.data)?void 0:e.error)||(null==l?void 0:l.message)||"Failed to open billing. Please try again.";await ze(s,"danger"),Ie.value=!1}}else await ze("Billing is unavailable because your organization is missing.","danger")};l([Bl,sl],([a,e])=>{var l;Oe.value=(null==a?void 0:a.id)||(null==(l=e[0])?void 0:l.id)||""},{immediate:!0});const Zl=async()=>{ll.value.length?qe.value=!0:await ze("Stripe checkout is not configured yet.","danger")},as=()=>{window.open($,"_blank","noopener,noreferrer")},es=a=>{const e=je.value+a;e<Cl.value||il.value&&e>1||(je.value=Math.max(0,e))},ls=async()=>{var a,e;if(!tl.value)return void(await ze("Billing is unavailable because your organization is missing.","danger"));Ee.value=!0;let l=!1;try{const a=await R.changeStaffSeatQuantity(tl.value,je.value);if(a.checkout_url)return l=!0,void window.location.assign(a.checkout_url);if(a.seat_usage)$e.value=a.seat_usage,je.value=a.seat_usage.purchased_staff_seats;else{const a=await R.getStaffSeatUsage(tl.value);$e.value=a,je.value=a.purchased_staff_seats}await ze("Staff seat quantity updated.","success")}catch(s){t.error("Failed to update staff seats:",s);const l=(null==(e=null==(a=null==s?void 0:s.response)?void 0:a.data)?void 0:e.error)||(null==s?void 0:s.message)||"Failed to update staff seats. Please try again.";await ze(l,"danger")}finally{l||(Ee.value=!1)}},ss=()=>{var a;sl.value.length&&(Ue.value=!0,Oe.value||(Oe.value=(null==(a=sl.value[0])?void 0:a.id)||""))},ts=()=>{Ue.value?Ue.value=!1:ss()},rs=async()=>{var a,e,l;if(!tl.value)return void(await ze("Billing is unavailable because your organization is missing.","danger"));const s=sl.value.find(a=>a.id===Oe.value);if(s){Re.value=!0;try{if((null==(a=Bl.value)?void 0:a.id)===s.id)return void(await ze("That SMS tier is already active.","success"));const e=fl.value?await R.changeSmsAddon(tl.value,s.id):await R.addSmsAddon(tl.value,s.id);
1Ye.value=e.usage,Ue.value=!1,await ze(fl.value?"SMS tier updated.":"SMS add-on activated.","success")}catch(r){t.error("Failed to update SMS tier:",r);const a=(null==(l=null==(e=null==r?void 0:r.response)?void 0:e.data)?void 0:l.error)||(null==r?void 0:r.message)||"Failed to update SMS plan. Please try again.";await ze(a,"danger")}finally{Re.value=!1}}else await ze("Select an SMS plan first.","warning")},ns=async()=>{var a,e;if(tl.value){Re.value=!0;try{const a=await R.cancelSmsAddon(tl.value);Ye.value=a.usage,Ue.value=!1,await ze("SMS add-on canceled. Remaining credits will keep working until they run out.","success",2800)}catch(l){t.error("Failed to cancel SMS add-on:",l);const s=(null==(e=null==(a=null==l?void 0:l.response)?void 0:a.data)?void 0:e.error)||(null==l?void 0:l.message)||"Failed to cancel SMS add-on. Please try again.";await ze(s,"danger")}finally{Re.value=!1}}else await ze("Billing is unavailable because your organization is missing.","danger")};return s(async()=>{var a,e;try{await(async()=>{if(Ae.value=await p.get("currentUser")||null,!tl.value)throw new Error("No organization found for your account.");const[a,e]=await Promise.all([_(tl.value),R.getUsage(tl.value)]),l=await R.getStaffSeatUsage(tl.value);Te.value=a,Ye.value=e,$e.value=l,je.value=l.purchased_staff_seats})(),Be.query.session_id&&(await ze("Billing updated successfully.","success"),await G.replace({path:Be.path,query:{}}))}catch(l){t.error("Failed to load billing page:",l);const s=(null==(e=null==(a=null==l?void 0:l.response)?void 0:a.data)?void 0:e.error)||(null==l?void 0:l.message)||"Failed to load billing details.";await ze(s,"danger")}finally{Ge.value=!1}}),(a,e)=>(T(),r(o(u),{class:i(["billing-page from-settings-enter",{"is-closing":De.value}])},{default:n(()=>[g(o(S),{class:"ion-no-border"},{default:n(()=>[g(o(y),null,{default:n(()=>[g(o(h),{slot:"start"},{default:n(()=>[g(o(b),{fill:"clear","aria-label":"Back",onClick:Xl},{default:n(()=>[g(f,{name:"arrow-back-outline"})]),_:1})]),_:1}),g(o(w),{class:"ion-text-center"},{default:n(()=>[...e[2]||(e[2]=[k("Billing",-1)])]),_:1}),g(o(h),{slot:"end"},{default:n(()=>[g(o(b),{fill:"clear",onClick:Xl,"aria-label":"Close",class:"close-button"},{default:n(()=>[...e[3]||(e[3]=[k("Close",-1)])]),_:1})]),_:1})]),_:1})]),_:1}),g(o(A),null,{default:n(()=>{var a,l,s,t;return[Ge.value?(T(),M("div",L,[g(o(C),{name:"crescent",class:"large-spinner"})])):(T(),M("div",Q,[il.value?(T(),M(x,{key:1},[P("section",ea,[e[9]||(e[9]=P("div",{class:"upgrade-hero__glow","aria-hidden":"true"},null,-1)),P("div",la,[P("div",null,[e[6]||(e[6]=P("div",{class:"hero-card__eyebrow"},"Your Plan",-1)),P("h1",sa,N(_l.value),1)]),e[7]||(e[7]=P("span",{class:"status-pill status-pill--starter"},"Starter",-1))]),e[10]||(e[10]=P("div",{class:"upgrade-hero__divider","aria-hidden":"true"},null,-1)),e[11]||(e[11]=P("span",{class:"upgrade-hero__badge"},"PRO",-1)),e[12]||(e[12]=P("h2",{class:"upgrade-hero__title"},"Place more animals, in less time",-1)),e[13]||(e[13]=P("p",{class:"upgrade-hero__copy"}," Starter gets your pleas out the door. Pro picks who should see them, writes them for you, tracks every response, and hands the busy work to Ollie. ",-1)),P("div",ta,[P("span",ra,N(o(Ke)),1),e[8]||(e[8]=P("span",{class:"upgrade-hero__period"},"/month",-1)),P("span",na,"Billed as "+N(o(Ve))+"/year (default) · Or "+N(o(Je))+"/month with
1no yearly commitment",1)]),P("button",{type:"button",class:"hero-cta hero-cta--shine",disabled:Ie.value,onClick:Zl},N(cl.value),9,ia),e[14]||(e[14]=P("p",{class:"upgrade-hero__reassure"},"Cancel anytime · Secure checkout through Stripe · Your data and fosters stay exactly as they are",-1))]),P("section",oa,[e[19]||(e[19]=P("div",{class:"ollie-card__halo","aria-hidden":"true"},null,-1)),P("div",ua,[P("span",ca,[g(f,{name:"sparkles-gradient",size:28,color:"none"}),e[15]||(e[15]=P("span",{class:"ollie-card__spark ollie-card__spark--pink","aria-hidden":"true"},null,-1)),e[16]||(e[16]=P("span",{class:"ollie-card__spark ollie-card__spark--lavender","aria-hidden":"true"},null,-1)),e[17]||(e[17]=P("span",{class:"ollie-card__spark ollie-card__spark--mint","aria-hidden":"true"},null,-1))]),e[18]||(e[18]=P("div",null,[P("span",{class:"card__eyebrow"},"Included with Pro"),P("h2",{class:"card__title"},"Meet Ollie, your AI teammate")],-1))]),e[20]||(e[20]=P("p",{class:"card__description"},"Ollie works both sides of your program, so the questions and the busy work stop landing on one person.",-1)),P("div",da,[(T(),M(x,null,B(el,a=>P("div",{key:a.label,class:"ollie-role"},[P("span",va,N(a.label),1),P("p",pa,N(a.copy),1)])),64))])]),P("section",_a,[e[21]||(e[21]=P("div",{class:"card__header"},[P("div",null,[P("span",{class:"card__eyebrow"},"What you unlock"),P("h2",{class:"card__title"},"Everything in Pro")])],-1)),P("ul",ma,[(T(!0),M(x,null,B(o(al),(a,e)=>(T(),M("li",{key:a.id,class:"feature-tile",style:z({"--stagger":"".concat(45*e,"ms")})},[P("span",ga,N(a.icon),1),P("div",ya,[P("span",ha,N(a.label),1),P("p",ba,N(a.description),1)])],4))),128))])]),P("section",fa,[e[23]||(e[23]=P("div",{class:"card__header"},[P("div",null,[P("span",{class:"card__eyebrow"},"Side by side"),P("h2",{class:"card__title"},"Starter vs Pro")])],-1)),P("div",wa,[e[22]||(e[22]=P("div",{class:"compare__row compare__row--head"},[P("span",{class:"compare__label"}),P("span",{class:"compare__cell"},"Starter"),P("span",{class:"compare__cell compare__cell--pro"},"Pro")],-1)),(T(!0),M(x,null,B(o(Ze),a=>(T(),M("div",{key:a.label,class:"compare__row"},[P("span",ka,N(a.label),1),P("span",Sa,[!0===a.starter?(T(),M("span",Ma,"â")):!1===a.starter?(T(),M("span",Ca,"â")):(T(),M("span",Pa,N(a.starter),1))]),P("span",Na,[!0===a.pro?(T(),M("span",Fa,"â")):!1===a.pro?(T(),M("span",xa,"â")):(T(),M("span",Ba,N(a.pro),1))])]))),128))])]),P("section",za,[e[24]||(e[24]=P("h2",{class:"closing-cta__title"},"Ready when you are",-1)),e[25]||(e[25]=P("p",{class:"closing-cta__copy"},"Upgrade now and Pro is live before your next plea goes out.",-1)),P("button",{type:"button",class:"hero-cta hero-cta--shine",disabled:Ie.value,onClick:Zl},N(cl.value),9,Aa),P("button",{type:"button",class:"closing-cta__link",onClick:as},"See full pricing")])],64)):(T(),M("section",W,[e[5]||(e[5]=P("div",{class:"hero-card__eyebrow"},"Your Plan",-1)),P("div",H,[P("div",X,[P("h1",J,N(_l.value),1),ml.value?(T(),M("p",K,N(ml.value),1)):F("",!0)]),e[4]||(e[4]=P("span",{class:"status-pill"},"Active",-1))]),ol.value?(T(),M("p",V," Enterprise includes 100 SMS credits every billing cycle, with optional SMS bundles if you need more. ")):(T(),M("p",Z,"Manage your plan and SMS add-ons from one place.")),P("button",{type:"button",class:"hero-cta hero-cta--secondary",disabled:Ie.value,onClick:Vl},N(ul.value),9,aa)])),kl.value?(T(),M("section",Ta,[P("div",Ya,[e[26]||(e[26]=P("div",null,[P("span",{class:"card__eyebrow"},"Team"),P("h2",{class:"card__title"},"Staff seats")],-1)),P("span",Ga,N((null==(a=$e.value)?void 0:a.used_staff_seats)||0)+" / "+N((null==(l=$e.value)?void 0:l.staff_seat_limit)||0)+" in use",1)]),P("p",Ia,N(Fl.value),1),P("div",{class:i(["seat-breakdown",{"seat-breakdown--read-only":il.value}])},[P("div",null,[P("span",Ra,N((null==(s=$e.value)?void 0:s.included_staff_seats)||0),1),e[27]||(e[27]=P("span",{class:"seat-breakdown__label"},"Included",-1))]),il.value?F("",!0):(T(),M("div",Ea,[P("span",qa,N((null==(t=$e.value)?void 0:t.purchased_staff_seats)||0),1),e[28]||(e[28]=P("span",{class:"seat-breakdown__label"},"Additional at $15/month",-1))]))],2),il.value?F("",!0):(T(),M("div",Da,[P("button",{type:"button",class:"seat-stepper",disabled:!Pl.value||Ee.value,"aria-label":"Remove one additional seat",onClick:e[0]||(e[0]=a=>es(-1))}," â ",8,Ua),P("div",Oa,[P("span",$a,N(je.value),1),e[29]||(e[29]=P("span",{class:"seat-quantity__label"},"additional",-1))]),P("button",{type:"button",class:"seat-stepper",disabled:Ee.value,"aria-label":"Add one additional seat",onClick:e[1]||(e[1]=a=>es(1))}," + ",8,ja)])),il.value?(T(),M("button",{key:1,type:"button",class:"hero-cta hero-cta--sms",disabled:Ie.value,onClick:Zl},N(cl.value),9,La)):(T(),M(x,{key:2},[P("button",{type:"button",class:"hero-cta hero-cta--sms",disabled:!Nl.value||Ee.value,onClick:ls},N(Ee.value?"Saving...":xl.value),9,Qa),e[30]||(e[30]=P("p",{class:"tier-note"},"Quantity changes are prorated on your existing Stripe subscription.",-1))],64))])):F("",!0),Sl.value?(T(),M("section",Wa,[P("div",Ha,[P("div",null,[P("span",Xa,N(Tl.value),1),P("h2",Ja,N(Yl.value),1)]),bl.value?(T(),M("span",{key:0,class:i(["status-pill",{"status-pill--inactive":0===hl.value}])},N(Al.value),3)):F("",!0)]),bl.value?(T(),M(x,{key:0},[P("div",Ka,[P("div",Va,[P("span",Za,N(hl.value)+" / "+N(yl.value)+" remaining",1),P("span",ae,"Resets "+N(zl.value),1)]),P("div",ee,[P("div",{class:i(["progress-fill",Rl.value]),style:z({width:Il.value})},null,6)]),0===hl.value?(T(),M("p",le,[k(" You've used all your SMS credits this month.
1Credits reset on "+N(zl.value)+" or ",1),P("button",{type:"button",class:"inline-link-btn",onClick:ss},"upgrade your SMS plan"),e[31]||(e[31]=k(". ",-1))])):F("",!0)]),fl.value?(T(),M("div",se,[P("button",{type:"button",class:"secondary-action",disabled:Re.value,onClick:ts},N(Ue.value?"Hide plans":wl.value?"Change bundle":"Change plan"),9,te),P("button",{type:"button",class:"secondary-action secondary-action--danger",disabled:Re.value,onClick:ns}," Remove add-on ",8,re)])):ol.value?(T(),M("div",ne,[P("button",{type:"button",class:"secondary-action",disabled:Re.value,onClick:ss},"Add an SMS bundle",8,ie)])):F("",!0),El.value?(T(),M("div",oe,[...e[32]||(e[32]=[P("p",null,"Fosters receive SMS for pleas and new assignments.",-1),P("p",null,"They can turn SMS on or off from their notification settings.",-1),P("p",null,[k(" Want SMS for other notifications? Let us know at "),P("a",{href:"mailto:[email protected]"},"[email protected]")],-1)])])):F("",!0)],64)):(T(),M("p",ue,"Reach fosters who aren't checking the app â perfect for urgent placements.")),0===sl.value.length?(T(),M("div",ce,[...e[33]||(e[33]=[P("p",null,[k("SMS add-on coming soon. Contact "),P("a",{href:"mailto:[email protected]"},"[email protected]"),k(" for details.")],-1)])])):ql.value?(T(),M("div",de,[(T(!0),M(x,null,B(sl.value,a=>(T(),M("button",{key:a.id,type:"button",class:i(["radio-tier",{"radio-tier--active":Oe.value===a.id}]),"aria-pressed":Oe.value===a.id,onClick:e=>Oe.value=a.id},[P("div",pe,[P("div",_e,[P("span",me,N(a.name),1),P("span",ge,N(a.price),1)]),P("span",ye,N(a.description),1)])],10,ve))),128)),P("button",{type:"button",class:"hero-cta hero-cta--sms",disabled:Re.value||!Oe.value,onClick:rs},N(Dl.value),9,he),fl.value||ol.value?F("",!0):(T(),M("p",be,"Added to your existing monthly invoice. Cancel anytime."))])):F("",!0)])):F("",!0),$l.value?(T(),M("section",fe,[P("div",we,[e[34]||(e[34]=P("div",null,[P("span",{class:"card__eyebrow"},"Ollie"),P("h2",{class:"card__title"},"Ollie messages")],-1)),P("span",{class:i(["status-pill",{"status-pill--inactive":0===Ol.value}])},N(0===Ol.value?"Used up":"Active"),3)]),P("div",ke,[P("div",Se,[P("span",Me,N(Ol.value)+" / "+N(Ul.value)+" remaining",1),P("span",Ce,"Resets "+N(jl.value),1)]),P("div",Pe,[P("div",{class:i(["progress-fill",Wl.value]),style:z({width:Ql.value})},null,6)])]),e[35]||(e[35]=P("p",{class:"card__description"}," Your team's monthly allowance for the coordinator assistant. Fosters asking Ollie care questions have their own separate allowance and never draw from this one. ",-1)),e[36]||(e[36]=P("div",{class:"notice-card"},[P("p",null,[k(" Need more before the reset? Message packs are on the way. In the meantime, contact "),P("a",{href:"mailto:[email protected]"},"[email protected]"),k(" and we'll top your team up. ")])],-1))])):F("",!0),Ml.value?(T(),M("section",Ne,[e[37]||(e[37]=P("div",{class:"card__header"},[P("div",null,[P("span",{class:"card__eyebrow"},"Payment Method"),P("h2",{class:"card__title"},"Payment Method")])],-1)),P("p",Fe,N(Hl.value),1),P("button",{type:"button",class:"secondary-action",disabled:Ie.value,onClick:Vl},"Update via Stripe",8,xe)])):F("",!0),g(O,{"is-open":qe.value,loading:Ie.value,plans:ll.value,onDismiss:Jl,onSelectPlan:Kl},null,8,["is-open","loading","plans"])]))]}),_:1})]),_:1},8,["class"]))}}),[["__scopeId","data-v-4135929b"]]);export{Be as default}; 2//# sourceMappingURL=BillingPage-Z2J5r1QK.js.map
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.