1import{D as S,C as b,w as P,x as c,O}from"./aDqk-s0q.js";import{u as T}from"./DOHnyZYg.js";function I(){const d=S(),{isAuthenticated:p}=b(),i=c([]),n=c(!0),r=c(null);async function h(){const{data:s}=await d.auth.getSession();return s.session?.access_token??null}async function e(s,t={}){const a=await h();if(!a)throw O({statusCode:401,statusMessage:"auth required"});return await $fetch(s,{...t,headers:{Authorization:`Bearer ${a}`,...t.headers||{}}})}async function u(){if(!p.value){n.value=!1;return}n.value=!0,r.value=null;try{const s=await e("/api/sponsorships");i.value=s?.sponsorships??[]}catch(s){r.value=s?.statusMessage||s?.message||"Could not load your sponsorships",i.value=[]}finally{n.value=!1}}const m=()=>({get:s=>e(`/api/sponsorships/${s}`),tickets:s=>e(`/api/sponsorships/${s}/tickets`),perks:s=>e(`/api/sponsorships/${s}/perks`),company:s=>e(`/api/sponsorships/${s}/company`)});async function _(s,t){return await e(`/api/sponsorships/${s}/company`,{method:"PATCH",body:t})}async function f(s,t,a){return await e(`/api/sponsorships/${s}/tickets/generate`,{method:"POST",body:{allotment_id:t,...a?{count:a}:{}}})}async function y(s,t,a,o=!1){return await e(`/api/sponsorships/${s}/tickets/label`,{method:"POST",body:{token:t,...a!==void 0?{label:a}:{},mark_sent:o}})}async function w(s,t){return await e(`/api/sponsorships/${s}/seller-link`,{method:"POST",body:{seller_id:t}})}async function k(s){const t=await e(`/api/sponsorships/${s}/checkout`,{method:"POST"}),a=T();await a.createCart(),await a.addLineItem(t.medusa_variant_id,1,{kind:"sponsorship_fee",metadata:{sponsorship_id:s,host_seller_id:t.host_seller_id,commission_pct:t.commission_pct,event_id:t.event_id,tier_id:t.tier_id,sponsor_space_id:t.sponsor_space_id??null}});const o=a.cartId.value;if(o)try{await e(`/api/sponsorships/${s}/attach-cart`,{method:"POST",body:{cart_id:o}})}catch(l){console.error("[sponsorships] attach-cart failed:",l?.statusMessage||l?.message)}const v=String(t.contact_name||t.company_name||"").trim(),[$,...g]=v.split(/\s+/).filter(Boolean);await a.setContactDetails({email:t.contact_email||"",first_name:$||"Sponsor",last_name:g.join(" "),phone:t.contact_phone||""});const C=await a.initPayment();return{intent:t,cartId:o,invoiceUrl:C}}return P(p,s=>{s&&u()},{immediate:!0}),{sponsorships:i,loading:n,err:r,load:u,detail:m,updateCompany:_,requestSellerLink:w,startCheckout:k,generateCodes:f,labelCode:y}}export{I as u};
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.