1import{n as t}from"./DSHKT-ff.js";import{D as e,h as s,r as a}from"./C-22kGpz.js";import{D as r,E as n,On as o,Zn as i,_ as l,b as u,bt as d,ct as c,g as m,it as g,k as p,mt as x,o as f,qt as h,tr as b,v as y,vn as v,y as k}from"./DhwZPgxP.js";import{t as D}from"./CM6jjudo.js";import{n as w}from"./DLjSuK7d.js";import{t as j}from"./BLbCeiSS.js";import{t as E}from"./DZ8S0lCE.js";import{n as C,t as L}from"./D7BF7DqM.js";import{t as T}from"./D2NtofE_2.js";import{n as N,t as _}from"./3bum9pSS2.js";var A={class:"py-12 md:py-16"},M={class:"container mx-auto px-4 max-w-3xl"},O={key:0,class:"text-center py-16",role:"status","aria-live":"polite"},$={class:"mt-4 text-gray-500"},q={key:1,class:"bg-red-50 border border-red-200 rounded-lg p-4 text-red-700 flex items-center gap-2"},G={key:2,class:"text-center py-16 px-6 bg-white rounded-xl shadow-sm"},P={class:"text-gray-900 font-medium mb-1"},S={class:"text-sm text-gray-500 mb-6"},Z={class:"mb-8"},B={class:"text-2xl font-heading font-bold text-gray-900"},H={class:"text-gray-500 mt-1"},I={key:0,class:"mb-10"},U={class:"space-y-4"},Y={class:"bg-primary p-4 sm:p-5"},z={class:"flex items-center justify-between gap-3"},F={class:"min-w-0"},J={class:"text-primary-100 text-xs font-medium uppercase tracking-wide mb-1"},K={class:"font-bold text-white text-lg truncate"},Q={class:"text-primary-100 text-sm mt-1"},R={class:"bg-white px-4 sm:px-5 py-3 flex items-center gap-4 text-xs text-gray-600"},V={key:1,class:"mb-10"},W={class:"text-xs font-semibold uppercase tracking-wider text-gray-500 mb-3"},X={class:"space-y-4"},tt={class:"flex"},et={class:"w-20 sm:w-24 flex-shrink-0 bg-gradient-to-br from-primary/10 to-primary/5 flex flex-col items-center justify-center py-4 px-2"},st={class:"text-xs font-medium text-primary-600 uppercase"},at={class:"text-2xl font-bold text-primary"},rt={class:"text-xs text-primary-600"},nt={class:"flex-1 p-4 sm:p-5 relative"},ot={class:"min-w-0 pr-24"},it={class:"mb-1"},lt={class:"font-semibold text-gray-900 truncate"},ut={class:"text-sm text-gray-600"},dt={class:"flex items-center gap-3 mt-1.5 text-xs text-gray-500"},ct={key:0,class:"mt-2 text-xs text-primary-600"},mt={key:2},gt={class:"text-xs font-semibold uppercase tracking-wider text-gray-500 mb-3"},pt={class:"space-y-3"},xt={class:"flex"},ft={class:"w-20 sm:w-24 flex-shrink-0 bg-gray-50 flex flex-col items-center justify-center py-4 px-2"},ht={class:"text-xs font-medium text-gray-500 uppercase"},bt={class:"text-2xl font-bold text-gray-500"},yt={class:"text-xs text-gray-500"},vt={class:"flex-1 p-4 sm:p-5 relative"},kt={class:"min-w-0 pr-24"},Dt={class:"mb-1"},wt={class:"font-semibold text-gray-700 truncate"},jt={class:"text-sm text-gray-500"},Et={class:"flex items-center gap-3 mt-1.5 text-xs text-gray-500"},Ct=p({__name:"buchungen",setup(p){E({layout:"guest",middleware:"guest-auth"});const{t:Ct,locale:Lt}=t(),Tt=w(),Nt=j(),{formatDate:_t,statusLabel:At,statusBadgeClass:Mt}=N(),Ot=v([]),$t=v(!0),qt=v(null);function Gt(t){if(["CANCELLED","COMPLETED"].includes(t.status))return!1;const e=L(),s=L(t.startDate),a=L(t.endDate);return s<=e&&a>=e}const Pt=m(()=>Ot.value.filter(Gt)),St=m(()=>{const t=L();return Ot.value.filter(e=>!["CANCELLED","COMPLETED"].includes(e.status)&&(!Gt(e)&&L(e.startDate)>t)).sort((t,e)=>new Date(t.startDate).getTime()-new Date(e.startDate).getTime())}),Zt=m(()=>{const t=L();return Ot.value.filter(e=>!Gt(e)&&(!!["CANCELLED","COMPLETED"].includes(e.status)||L(e.endDate)<t)).sort((t,e)=>new Date(e.startDate).getTime()-new Date(t.startDate).getTime())});function Bt(t){return C(t,Lt.value,{month:"short"})}function Ht(t){return C(t,Lt.value,{day:"numeric"})}function It(t){return C(t,Lt.value,{year:"numeric"})}function Ut(t,e){const s=new Date(e).getTime()-new Date(t).getTime();return Math.round(s/864e5)}function Yt(t){const e=t.filter(t=>"ADULT"===t.type).length,s=t.filter(t=>"CHILD"===t.type).length,a=t.filter(t=>"DOG"===t.type).length,r=[];return e&&r.push(Ct("guest.bookings.adults",{n:e},e)),s&&r.push(Ct("guest.bookings.children",{n:s},s)),a&&r.push(Ct("guest.bookings.dogs",{n:a},a)),r.join(", ")}async function zt(){try{const t=await s(`${Nt}/guest/bookings`,{credentials:"include"});Ot.value=t}catch{qt.value=Ct("guest.bookings.error")}finally{$t.value=!1}}const{track:Ft}=T(),{connect:Jt,disconnect:Kt,onGuestEvent:Qt,offGuestEvent:Rt}=_(),Vt=()=>zt();return c(async()=>
1{if(await zt(),!qt.value&&1===Ot.value.length)return $t.value=!0,void(await e(Tt(`/mein-konto/buchung/${Ot.value[0].id}`),{replace:!0}));Ft("bookings_viewed",{properties:{count:Ot.value.length}}),Jt(),Qt("booking.updated",Vt),Qt("request.processed",Vt),Qt("payment.success",Vt)}),g(()=>{Rt("booking.updated",Vt),Rt("request.processed",Vt),Rt("payment.success",Vt),Kt()}),a({title:Ct("guest.bookings.seoTitle"),robots:"noindex"}),(t,e)=>{const s=D;return x(),u("div",A,[l("div",M,[o($t)?(x(),u("div",O,[e[0]||(e[0]=l("div",{class:"animate-spin rounded-full h-10 w-10 border-2 border-gray-200 border-t-primary mx-auto"},null,-1)),l("p",$,b(o(Ct)("guest.bookings.loading")),1)])):o(qt)?(x(),u("div",q,[e[1]||(e[1]=l("i",{class:"fas fa-exclamation-circle","aria-hidden":"true"},null,-1)),n(" "+b(o(qt)),1)])):0===o(Ot).length?(x(),u("div",G,[e[2]||(e[2]=l("div",{class:"w-16 h-16 bg-gray-100 rounded-full flex items-center justify-center mx-auto mb-4"},[l("i",{class:"far fa-calendar text-2xl text-gray-400","aria-hidden":"true"})],-1)),l("p",P,b(o(Ct)("guest.bookings.emptyTitle")),1),l("p",S,b(o(Ct)("guest.bookings.emptyMessage")),1),r(s,{to:o(Tt)("/"),class:"text-sm text-primary hover:text-primary-700 font-medium transition-colors duration-150"},{default:h(()=>[n(b(o(Ct)("guest.bookings.discover"))+" â ",1)]),_:1},8,["to"])])):(x(),u(f,{key:3},[l("div",Z,[l("h1",B,b(o(Ct)("guest.bookings.title")),1),l("p",H,b(o(Ct)("guest.bookings.count",{count:o(Ot).length},o(Ot).length)),1)]),o(Pt).length>0?(x(),u("div",I,[l("div",U,[(x(!0),u(f,null,d(o(Pt),t=>(x(),y(s,{key:t.id,to:o(Tt)(`/mein-konto/buchung/${t.id}`),class:"group block rounded-xl border-2 border-primary overflow-hidden hover:shadow-lg transition-all duration-200"},{default:h(()=>[l("div",Y,[l("div",z,[l("div",F,[l("p",J,b(o(Ct)("guest.bookings.currentStay")),1),l("h3",K,b(t.objectName),1),l("p",Q,[n(b(o(_t)(t.startDate))+" â "+b(o(_t)(t.endDate))+" ",1),e[3]||(e[3]=l("span",{class:"mx-1 opacity-60"},"·",-1)),n(" "+b(o(Ct)("guest.bookings.nights",{n:Ut(t.startDate,t.endDate)},Ut(t.startDate,t.endDate))),1)])]),e[4]||(e[4]=l("i",{class:"fas fa-chevron-right text-primary-200 group-hover:text-white transition-colors duration-150 flex-shrink-0 text-lg","aria-hidden":"true"},null,-1))])]),l("div",R,[l("span",null,[e[5]||(e[5]=l("i",{class:"fas fa-hashtag mr-0.5","aria-hidden":"true"},null,-1)),n(b(t.bookingCode),1)]),l("span",null,[e[6]||(e[6]=l("i",{class:"fas fa-user mr-0.5","aria-hidden":"true"},null,-1)),n(b(Yt(t.guests)),1)])])]),_:2},1032,["to"]))),128))])])):k("",!0),o(St).length>0?(x(),u("div",V,[l("h2",W,b(o(Ct)("guest.bookings.upcoming")),1),l("div",X,[(x(!0),u(f,null,d(o(St),t=>(x(),y(s,{key:t.id,to:o(Tt)(`/mein-konto/buchung/${t.id}`),class:"group block bg-white rounded-xl border border-gray-200 border-t-2 border-t-primary overflow-hidden hover:border-primary-200 hover:border-t-primary hover:shadow-md transition-all duration-200"},{default:h(()=>[l("div",tt,[l("div",et,[l("span",st,b(Bt(t.startDate)),1),l("span",at,b(Ht(t.startDate)),1),l("span",rt,b(It(t.startDate)),1)]),l("div",nt,[l("span",{class:i([o(Mt)(t.status),"absolute top-4 right-4 sm:top-5 sm:right-5 text-xs font-medium px-2 py-0.5 rounded-full whitespace-nowrap"])},b(o(At)(t.status)),3),l("div",ot,[l("div",it,[l("h3",lt,b(t.objectName),1)]),l("p",ut,[n(b(o(_t)(t.startDate))+" â "+b(o(_t)(t.endDate))+" ",1),e[7]||(e[7]=l("span",{class:"text-gray-500 mx-1"},"·",-1)),n(" "+b(o(Ct)("guest.bookings.nights",{n:Ut(t.startDate,t.endDate)},Ut(t.startDate,t.endDate))),1)]),l("div",dt,[l("span",null,[e[8]||(e[8]=l("i",{class:"fas fa-hashtag mr-0.5","aria-hidden":"true"},null,-1)),n(b(t.bookingCode),1)]),l("span",null,[e[9]||(e[9]=l("i",{class:"fas fa-user mr-0.5","aria-hidden":"true"},null,-1)),n(b(Yt(t.guests)),1)])]),t.hasArrivalTime||"CANCELLED"===t.status?k("",!0):(x(),u("div",ct,[e[10]||(e[10]=l("i",{class:"fas fa-clock mr-0.5","aria-hidden":"true"},null,-1)),n(b(o(Ct)("guest.bookings.arrivalNotSet")),1)]))]),e[11]||(e[11]=l("i",{class:"fas fa-chevron-right absolute right-4 sm:right-5 bottom-4 sm:bottom-5 text-gray-400 group-hover:text-primary transition-colors duration-150","aria-hidden":"true"},null,-1))])])]),_:2},1032,["to"]))),128))])])):k("",!0),o(Zt).length>0?(x(),u("div",mt,[l("h2",gt,b(o(Ct)("guest.bookings.past")),1),l("div",pt,[(x(!0),u(f,null,d(o(Zt),t=>(x(),y(s,{key:t.id,to:o(Tt)(`/mein-konto/buchung/${t.id}`),class:"group block bg-white rounded-xl border border-gray-200 overflow-hidden hover:border-gray-300 hover:shadow-sm transition-all duration-200"},{default:h(()=>[l("div",xt,[l("div",ft,[l("span",ht,b(Bt(t.startDate)),1),l("span",bt,b(Ht(t.startDate)),1),l("span",yt,b(It(t.startDate)),1)]),l("div",vt,[l("span",{class:i([o(Mt)(t.status),"absolute top-4 right-4 sm:top-5 sm:right-5 text-xs font-medium px-2 py-0.5 rounded-full whitespace-nowrap"])},b(o(At)(t.status)),3),l("div",kt,[l("div",Dt,[l("h3",wt,b(t.objectName),1)]),l("p",jt,b(o(_t)(t.startDate))+" â "+b(o(_t)(t.endDate)),1),l("div",Et,[l("span",null,[e[12]||(e[12]=l("i",{class:"fas fa-hashtag mr-0.5","aria-hidden":"true"},null,-1)),n(b(t.bookingCode),1)])])]),e[13]||(e[13]=l("i",{class:"fas fa-chevron-right absolute right-4 sm:right-5 bottom-4 sm:bottom-5 text-gray-400 group-hover:text-gray-500 transition-colors duration-150","aria-hidden":"true"},null,-1))])])]),_:2},1032,["to"]))),128))])])):k("",!0)],64))])])}}});
1export{Ct 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.