1import{i as P,e as k,w as c,a as e,o as s,c as o,b,u as m,F as D,v as M,t as r,g as x,n as y,B as f}from"./app-mFI3VYmo.js";import"./debounce-DvcxFQhK.js";import{_ as A}from"./Button.vue_vue_type_script_setup_true_lang-k3cvwrGg.js";import{_ as N}from"./StandardTable.vue_vue_type_script_setup_true_lang-CDp71-Nj.js";import{_ as S}from"./usePagination-sNUnOQ-a.js";import{_ as T}from"./ModalDialog.vue_vue_type_script_setup_true_lang-C-SMl-Bg.js";import{_ as R}from"./AppLayout.vue_vue_type_script_setup_true_lang-CjRz09za.js";/* empty css */import"./Spinner.vue_vue_type_script_setup_true_lang-CpQlG5al.js";import"./FormInput.vue_vue_type_script_setup_true_lang-Bd0O0_MO.js";import"./FormLabel.vue_vue_type_script_setup_true_lang-CaK9M24a.js";import"./FormatNumber-DtJYAcXm.js";import"./FormSelect.vue_vue_type_script_setup_true_lang-DLNfuC4a.js";import"./keyboard-DKN2DtMa.js";import"./use-resolve-button-type-DeF0NT7J.js";import"./use-text-value-DlNi8lvG.js";import"./Heading.vue_vue_type_script_setup_true_lang-BrV_tX0v.js";import"./portal-DKmILsax.js";import"./HuttonsLogo-BWFvgf73.js";import"./_plugin-vue_export-helper-DlAUqK2U.js";import"./ClockIcon-Cx5HL0wy.js";import"./CalendarDaysIcon-Dthgz6Mt.js";const E={class:"rounded-md border border-brand-primary-500/10 bg-white p-5 shadow-sm"},I={key:0,class:"mt-5"},C={class:"px-4 py-3 text-xs"},O={class:"flex flex-wrap items-center gap-2"},U=["href"],V={key:1,class:"text-xs font-semibold text-brand-primary-600"},$={key:0,class:"mt-1 text-[11px] leading-4 text-slate-500"},H={key:1,class:"mt-1 text-[11px] leading-4 text-slate-400"},F={class:"px-4 py-3 text-xs"},X={class:"space-y-1"},z={class:"text-xs font-semibold text-brand-primary-600"},W={key:0,class:"text-xs font-normal text-slate-500"},Y={class:"px-4 py-3 text-xs"},j={class:"space-x-2"},q={class:"text-xs tracking-wide text-slate-500"},G={class:"text-xs font-medium text-slate-700"},J={class:"px-4 py-3 text-xs font-medium text-slate-700"},K={class:"px-4 py-3 text-xs"},Q={key:1,class:"text-slate-500"},Z={key:1,class:"mt-5 rounded-md border border-dashed border-brand-primary-500/15 bg-white px-4 py-8 text-center text-sm text-slate-600"},ee={class:"space-y-3 p-4"},te=["src"],ae=["href"],se={key:2,class:"text-sm text-slate-500"},Be=P({__name:"my-bookings",props:{studio:{},device:{},demo:{type:Boolean},canAccessAdmin:{type:Boolean},bookings:{}},setup(d){const g=d,B=f(()=>[{id:1,bookingId:1,reference:"HPS-DEMO-001",invoiceId:"HPS-DEMO-001",paymentReference:"TXN-DEMO-001",paymentDateTimeLabel:"20 May 2026, 10:15 AM",paymentDateTimeSort:Date.parse("2026-05-20T10:15:00+08:00"),amountSgd:120,agent:{ceaNumber:"CEA-1001",name:"Demo Agent"},bookings:[{id:11,bookingDate:"2026-05-22",dateLabel:"22 May 2026",slotLabel:"10 AM - 11 AM"},{id:12,bookingDate:"2026-05-22",dateLabel:"22 May 2026",slotLabel:"11 AM - 12 PM"}],redoc:null},{id:2,bookingId:2,reference:"HPS-DEMO-002",invoiceId:"HPS-DEMO-002",paymentReference:"TXN-DEMO-002",paymentDateTimeLabel:"22 May 2026, 2:30 PM",paymentDateTimeSort:Date.parse("2026-05-22T14:30:00+08:00"),amountSgd:60,agent:{ceaNumber:"CEA-1002",name:"Demo Agent Two"},bookings:[{id:21,bookingDate:"2026-05-26",dateLabel:"26 May 2026",slotLabel:"2 PM - 3 PM"}],redoc:null}]),n=y(null),v=y(1),_=y(10),h=f({get:()=>!!n.value,set:l=>{l||(n.value=null)}}),w=f(()=>g.demo?B.value:g.bookings),L=l=>{const a=(l??"").trim();a&&(n.value=a)},p=l=>l.redoc?.receiptUrl??l.redoc?.invoiceUrl??"";return(l,a)=>(s(),k(m(R),{title:"My Bookings","studio-name":d.studio.name,"studio-location":d.studio.location,"allow-local-webview-debug":d.device.allowLocalWebviewDebug,"webview-background-image":d.device.webviewBackgroundImage},{default:c(()=>[e("section",E,[a[4]||(a[4]=e("p",{class:"text-xs font-semibold uppercase tracking-widest text-brand-secondary-600"},"Booking History",-1)),a[5]||(a[5]=e("h2",{class:"mt-2 text-xl font-semibold text-brand-primary-500"},"Your podcast studio bookings",-1)),w.value.length?(s(),o("div",I,[b(m(S),{modelValue:v.value,"onUpdate:modelValue":a[0]||(a[0]=i=>v.value=i),perPage:_.value,"onUpdate:perPage":a[1]||(a[1]=i=>_.value=i),items:w.value,class:"mt-4"},{default:c(({items:i})=>[b(m(N),{"empty-colspan":5,"has-data":i.length>0,"body-class":"divide-y divide-slate-100 bg-white","empty-class":"px-4 py-8 text-sm text-slate-500","empty-text":"No bookings found for this account yet.","head-class":"bg-slate-50/80","table-class":"min-w-full divide-y divide-slate-200 text-xs","wrapper-class":"overflow-hidden rounded-2xl border border-slate-200 bg-white shadow-sm"},{head:c(()=>[...a[3]||(a[3]=[e("tr",{class:"text-left text-xs uppercase tracking-wide text-slate-500"},[e("th",{class:"px-4 py-3"},"Invoice ID"),e("th",{class:"px-4 py-3"},"Agent"),e("th",{class:"px-4 py-3"},"Date / Slot"),e("th",{class:"px-4 py-3"},"Amount"),e("th",{class:"px-4 py-3"},"Receipt")],-1)])]),body:c(()=>[(s(!0),o(D,null,M(i,t=>(s(),o("tr",{key:t.id,class:"align-top"},[e("td",C,[e("div",O,[p(t)?(s(),o("a",{key:0,href:p(t),class:"text-xs font-semibold text-brand-primary-600 underline decoration-brand-primary-300 underline-offset-2",rel:"noopener noreferrer",target:"_blank"},r(t.invoiceId||t.reference),9,U)):(s(),o("span",V,r(t.invoiceId||t.reference),1))]),t.paymentDateTimeLabel?(s(),o("div",$,r(t.paymentDateTimeLabel),
11)):x("",!0),t.paymentReference?(s(),o("div",H,r(t.paymentReference),1)):x("",!0)]),e("td",F,[e("div",X,[e("div",z,r(t.agent?.name||"-"),1),t.agent?.ceaNumber?(s(),o("div",W,r(t.agent.ceaNumber),1)):x("",!0)])]),e("td",Y,[e("div",j,[(s(!0),o(D,null,M(t.bookings,u=>(s(),o("div",{key:u.id,class:"inline-flex w-fit max-w-full flex-col rounded-lg border border-slate-200 bg-slate-50/80 p-2 py-1 shadow-sm"},[e("div",q,r(u.dateLabel),1),e("div",G,r(u.slotLabel),1)]))),128))])]),e("td",J," $"+r(t.amountSgd.toFixed(2)),1),e("td",K,[p(t)?(s(),k(m(A),{key:0,"bg-color":"bg-brand-primary-500 hover:bg-brand-primary-600",border:"border border-transparent",color:"text-white",label:"View receipt",padding:"px-3 py-2",rounded:"rounded-full",onClick:u=>L(p(t))},null,8,["onClick"])):(s(),o("span",Q,"-"))])]))),128))]),_:2},1032,["has-data"])]),_:1},8,["modelValue","perPage","items"])])):(s(),o("div",Z," No bookings found for this account yet. "))]),b(m(T),{value:h.value,"onUpdate:value":a[2]||(a[2]=i=>h.value=i),header:"Booking receipt","close-button-text":"Close",width:"w-full max-w-5xl",height:"max-h-[95vh]"},{default:c(()=>[e("div",ee,[a[6]||(a[6]=e("p",{class:"text-sm text-slate-600"},"Receipt preview",-1)),n.value?(s(),o("iframe",{key:0,src:n.value,class:"h-[75vh] w-full rounded-md border border-slate-200 bg-white",title:"Booking receipt"},null,8,te)):x("",!0),n.value?(s(),o("a",{key:1,href:n.value,class:"inline-flex rounded-full border border-brand-primary-500/20 px-4 py-2 text-sm font-medium text-brand-primary-600 transition hover:bg-brand-primary-50",rel:"noopener noreferrer",target:"_blank"}," Open in new tab ",8,ae)):(s(),o("p",se,"Receipt is unavailable."))])]),_:1},8,["value"])]),_:1},8,["studio-name","studio-location","allow-local-webview-debug","webview-background-image"]))}});export{Be 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.