1import{a as et,d as tt,u as rt,t as _,A as at,y as st,C as ot,E as nt,F as it,G as lt,J as ct,k as dt,q as ie,n as le,i as ut,L as mt,b as pt,c as ft,o as gt}from"../chunks/chunk-BFgw_KlF.js";import{b as m,j as t}from"../chunks/chunk-ngaCJxcV.js";import{D as ue,b as yt,e as re}from"../chunks/chunk-KO1ABRC5.js";import{g as ht,b as Et,a as ke,B as Ce,M as xt}from"../chunks/chunk-ufPOGnEs.js";import{B as bt}from"../chunks/chunk-Dya47OrH.js";import{i as Pt,P as vt,a as St}from"../chunks/chunk-D0JJsyxI.js";import{a as Te}from"../chunks/chunk-CYA-92Qv.js";import{s as At}from"../chunks/chunk-Dms2Cn1K.js";import{s as _t}from"../chunks/chunk-BdieZcfc.js";import"../chunks/chunk-DzIrrcIh.js";import{b as Ct,r as Tt,m as ce,c as Y}from"../chunks/chunk-B0B0jAUR.js";import{p as Nt,g as Ne,b as we,c as wt,d as Rt,e as Vt}from"../chunks/chunk-DdtLcEoK.js";import{g as jt,a as Ot}from"../chunks/chunk-C0xIn-CG.js";import{l as Re}from"../chunks/chunk-YE5B4yIH.js";import{d as kt,i as Ie}from"../chunks/chunk-B24eoqi3.js";import"../chunks/chunk-C-IMmuvR.js";/* empty css *//* empty css */import"../chunks/chunk-Cl85btZu.js";import"../chunks/chunk-CCVQhKvN.js";import"../chunks/chunk-DAgG4ogk.js";import"../chunks/chunk-CMgq7Lth.js";import"../chunks/chunk-C9I_7GLe.js";import"../chunks/chunk-XbOhuunV.js";import"../chunks/chunk-BQ-S670s.js";const It=6;function G(...e){return e.filter(Boolean).join(" ")}const Dt=e=>{if(!e)return"-";const s=kt(e).locale(_());return s.isValid()?s.format("L"):"-"},de=new Map;function Ve(e,s){return{...e,id:e?.id??s,currencyCode:e?.currencyCode??"EUR",languageCode:e?.languageCode??null,travelBeginDate:e?.travelBeginDate??null,travelEnd
1Date:e?.travelEndDate??null,flight:e?.flight??null,travellers:e?.travellers??[],ancillary:e?.ancillary??null,insurance:e?.insurance??null,extra:e?.extra??null,flightSpecialService:e?.flightSpecialService??null}}function Bt(e){const s=e?.flightSpecialService?.selectedSpecialServices??e?.flightSpecialService?.SelectedSpecialServices??[],n=e?.insurance?.selectedInsuranceList??e?.insurance?.SelectedInsuranceList??[],r=e?.extra?.selectedExtras??e?.extra?.SelectedExtras??[];return(e?.ancillary?.baggages?.length??0)>0||s.length>0||n.length>0||r.length>0}function Lt(e,s){return!e||s===null||!Bt(e)?!1:!!e.flight?.pricingResponse?.flights?.some(n=>n.value?.some(r=>jt({departureDateTime:r.key?.departureDate,departureAirportCode:r.key?.departureAirportCode,cutoffHours:It,now:s}).reason==="inside-cutoff"))}function F(e){const s=e?.flight?.pricingResponse?.discountDetails??[];for(const n of s){const r=String(n?.discountDetail||"").match(/coupon\s*\(([^)]+)\)/i);if(r?.[1])return r[1].trim()}return null}function me(e,s){const n=e.match(/Response:\s*(\{.*\})/i)?.[1]??e.match(/-\s*(\{.*\})$/)?.[1];if(n)try{const r=JSON.parse(n);return(Array.isArray(r?.errors)?r.errors.map(String):[]).some(T=>/CouponCodeIsNotValid/i.test(T))?s:te(r,s)}catch{}return/CouponCodeIsNotValid|flightcoupon|HTTP status code|Status:\s*\d+|^HTTP\s+\d+/i.test(e)?s:e}function te(e,s){const n=e?.data&&typeof e.data=="object"&&"message"in e.data?e.data.message?.trim():null;if(n)return me(n,s);const r=e?.message?.trim();return r?me(r,s):s}function je(e,s){const n=e instanceof Error?e.message:typeof e=="string"?e:"";return n?me(n,s):s}function De(e){return String(e?.languageCode||_()).toLowerCase()}function Oe(e){const s=Number(e);return Number.isFinite(s)?Math.round(s*100):null}function Gt(e){const s=e?.flight?.pricingResponse,n=Number(s?.totalAmount);return Number.isFinite(n)?n+ke(e):null}function Ft(e){const s=e?.flight?.pricingResponse,n=s?.flights??[],r=n.flatMap(T=>(T?.value??[]).flatMap(H=>(H?.value??[]).map(W=>typeof W?.flightKey=="string"?W.flightKey.trim():"").filter(Boolean)));if(r.length===0)return null;const x=s?.passengerCounts;return{tripType:n.length>1?2:1,passengerCounts:{adultCount:Number(x?.adultCount??0),childCount:Number(x?.childCount??0),infantCount:Number(x?.infantCount??0)},currency:e?.currencyCode||e?.flight?.currency||ue.CODE,flightKeys:r,language:De(e)}}function Wt(e,s){if(!e)return[];const n=[],r=Array.isArray(e?.paymentTypeList)?e.paymentTypeList:Array.isArray(e?.data?.paymentTypeList)?e.data.paymentTypeList:[],x=d=>{const R=(d?.posName||"").trim();if(R)return R;switch(Number(d?.paymentType)){case 2:return d?.is3DCreditCard?s("PAYMENT_CreditCard3DSecure"):s("PAYMENT_CreditCard");case 0:return s("PAYMENT_AgentCredit");case 1:return s("PAYMENT_BankTransfer");case-1:return s("PAYMENT_ManualOnHold");default:return s("PAYMENT_Payment")}},T=(d,R)=>{if(!d||Number(d?.paymentType)===0)return;const V=String(d.posCode||`type-${R}`).trim(),v=x(d);let b;if(Array.isArray(d.installments)&&d.installments.length){const U=d.installments.map(y=>typeof y=="number"?y:Number(y?.installmentCount??y?.count??y?.installment??y?.months??y?.value)).filter(y=>Number.isFinite(y)&&y>0);U.length&&(b=Array.from(new Set(U)).sort((y,p)=>y-p))}n.push({code:V,name:v,installments:b,raw:d})};r.forEach(T),(Array.isArray(e?.quotaStatusList)?e.quotaStatusList:Array.isArray(e?.data?.quotaStatusList)?e.data.quotaStatusList:[]).some(d=>Number(d?.status)===3)&&n.unshift({code:"-99",name:s("OVERVIEW_PAGE_OptionalBooking"),installments:void 0,raw:{isOptional:!0}});const M=new Map;for(const d of n)M.has(d.code)||M.set(d.code,d);return Array.from(M.values())}function Mt(){const{t:e}=et(),{formatPrice:s}=tt(),n=rt(),{basketId:r,basketDetail:x,travellers:T,prebookOk:H,prebookError:W,paymentOptions:M}=n?.data||{},[d,R]=m.useState(!1),[V,v]=m.useState(!1),[b,U]=m.useState(!1),[y,p]=m.useState(null),[u,pe]=m.useState(()=>x||null),[z,ae]=m.useState(!!H),[Be,fe]=m.useState(W??null),[Le,ge]=m.useState(M),[K,I]=m.useState(()=>F(x)??""),[j,J]=m.useState(!1),[se,$]=m.useState(null),[ye,N]=m.useState(null),[Q,he]=m.useState(!1),[q,Ge]=m.useState(null),[oe,Fe]=m.useState(null),X=u?.currencyCode||ue.CODE,Ee=u?ht(u):0,We=Et(u,_()),O=Wt(Le,e),[h,Z]=m.useState(""),ee=O.find(a=>
1a.code===h),P=F(u),xe=ke(u),D=se?.tone==="success"?se:P?{tone:"success",message:e("OVERVIEW_PAGE_PromoApplied",{code:P})||`Promo code ${P} applied.`}:null,B=Q||!!q,S=O.length===0&&Lt(u,oe);m.useEffect(()=>{const a=()=>Fe(Date.now());a();const o=window.setInterval(a,6e4);return()=>window.clearInterval(o)},[]),m.useEffect(()=>{if(d){const a=document.body.style.overflow;return document.body.style.overflow="hidden",()=>{document.body.style.overflow=a}}},[d]),m.useEffect(()=>{if(new URLSearchParams(window.location.search).get("hasError")==="true"){const i=sessionStorage.getItem("errorDescription");i?(p(i),sessionStorage.removeItem("errorDescription")):p(e("OVERVIEW_PAGE_BookingFailed"))}},[e]),m.useEffect(()=>{if(S){h&&Z("");return}if(O.length===0){h&&Z("");return}O.some(a=>a.code===h)||Z("")},[S,O,h]),m.useEffect(()=>{if(oe===null||S||!r||!u||B)return;const a=Ct(u),o=Tt(r);if(!o){ce(r,u);return}if(o===a)return;let i=!1;return(async()=>{U(!0);try{const l=_(),f=await Nt({basketId:r},l);if(!f?.success)throw new Error(f?.error||e("OVERVIEW_PAGE_PrebookFailedDesc")||"Prebook failed.");const[E,k]=await Promise.all([Ne(r,l),we({basketId:r},l).catch(()=>null)]);if(i)return;if(!E)throw new Error(e("OVERVIEW_PAGE_BasketNotFound"));const L=Ve(E,r);pe(L),ge(k),I(F(L)??""),ae(!0),fe(null),Y(r),ce(r,L)}catch(l){if(i)return;const f=l?.message||e("OVERVIEW_PAGE_PrebookFailedDesc")||"Prebook failed.";ae(!1),fe(f),p(f)}finally{i||U(!1)}})(),()=>{i=!0}},[S,r,u,oe,B,e]);async function Me(a){const o=Ft(a),i=Oe(Gt(a));if(!o||i==null)return!0;const c=`${r}|${o.flightKeys?.join(",")}|${i}`;he(!0);try{let l=de.get(c);l||(l=Ot(o).finally(()=>{de.delete(c)}),de.set(c,l));const f=await l;if(!f?.isSuccess||!f.data)throw new Error(f?.message||e("PRICING_VerifyFailed"));const E=Oe(f.data.totalAmount);if(E==null||E===i)return!0;const k=e("OVERVIEW_PAGE_FlightPriceChangedRedirect")||"The flight price has changed. You will be redirected to the homepage to start again.";return Ge(k),p(null),ae(!1),Y(r),ie(),setTimeout(()=>{le(yt("/",_()))},3500),!1}catch(l){const f=l instanceof Error?l.message:e("PRICING_VerifyFailed");return p(f||e("PRICING_VerifyFailed")),!1}finally{he(!1)}}async function be(a=""){if(!r)return null;const o=_(),i=await Ne(r,o);if(z)try{const l=await we({basketId:r},o);ge(l)}catch{}if(!i)return null;const c=Ve(i,r);return Y(r),ce(r,c),pe(c),I(F(c)??a),c}async function Ue(){if(!r||!u||j)return;const a=K.trim();if(!a){N(e("OVERVIEW_PAGE_PromoRequired")||"Enter a promo code.");return}J(!0),$(null),N(null),p(null);try{const o=_(),i=De(u),c=await wt({basketId:r,couponCode:a,languageCode:i},o);if(!c?.isSuccess||!c?.data?.isCouponValid){N(te(c,e("OVERVIEW_PAGE_PromoNotAvailable")||"Coupon is not available."));return}const l=await Rt({basketId:r,couponCode:a,languageCode:i},o);if(!l?.isSuccess)throw new Error(te(l,e("OVERVIEW_PAGE_PromoApplyFailed")||"Promo code could not be applied."));const f=await be(a),E=F(f??u)??a;I(E),$({tone:"success",message:e("OVERVIEW_PAGE_PromoApplied",{code:E})||`Promo code ${E} applied.`})}catch(o){N(je(o,e("OVERVIEW_PAGE_PromoNotAvailable")||"Coupon is not available."))}finally{J(!1)}}async function ze(){if(!(!r||!u||j||!P)){J(!0),$(null),N(null),p(null);try{const a=_(),o=await Vt({basketId:r},a);if(!o?.isSuccess||o.data!==!0)throw new Error(te(o,e("OVERVIEW_PAGE_PromoRemoveFailed")||"Promo code could not be removed."));const i=await be(""),c=F(i);if(c)throw I(c),new Error(e("OVERVIEW_PAGE_PromoRemoveFailed")||"Promo code could not be removed.");I(""),$(null)}catch(a){N(je(a,e("OVERVIEW_PAGE_PromoRemoveFailed")||"Promo code could not be removed."))}finally{J(!1)}}}async function Pe(a){try{await _t({basketId:r,basketDetail:u,bookingResult:a,locale:_(),subject:e("MYBOOKING_Confirmation")||"Booking Confirmation"})}catch(o){console.warn("Company booking document email failed:",o)}}if(!r||!u)return t.jsx("div",{className:"p-6 font-dinr",children:e("OVERVIEW_PAGE_BasketNotFound")});async function ve(){if(S||!z||b||B||!h||!u||!dt(r))return;p(null),v(!0);const a=u;try{if(!await Me(a)){v(!1);return}const i=ee,c=h==="-99"?null:typeof i?.raw?.paymentType=="number"?i?.raw?.paymentType:Number.isFinite(Number(i?.raw?.paymentType))?Number(i?.raw?.paymentType):-1;if(h!=="-99"&&c!==2){const g=c===-1?3:2,A=c===-1?1:Number(c);try{const C=await fetch("/api/book",{method:"POST",headers:{"Content-Type":"application/json"},credentials:"same-origin",body:JSON.stringify({basketId:r,toStatus:g,paymentType:A,isAfterBooking:!1})}),w=await C.json();C.ok&&w.success?(Y(r),ie(),Te(a,ee),await Pe(w.data),await le(`/bookingcompleted?basketKey=${encodeURIComponent(r)}`)):p(w.error||e("OVERVIEW_PAGE_BookingFailed"))}catch(C){p(C?.message||e("OVERVIEW_PAGE_BookingFailed"))}v(!1);return}if(h==="-99"){try{const g=await fetch("/api/book",{method:"POST",headers:{"Content-Type":"application/json"},credentials:"same-origin",body:JSON.stringify({basketId:r,toStatus:3,paymentType:1,isAfterBooking:!1})}),A=await g.json();g.ok&&A.success?(Y(r),ie(),Te(a,ee),await Pe(A.data),await le(`/bookingcompleted?basketKey=${encodeURIComponent(r)}`)):p(A.error||e("OVERVIEW_PAGE_OptionalBookingFailed"))}catch(g){p(g?.message||e("OVERVIEW_PAGE_OptionalBookingFailed"))}v(!1);return}const l=ee;if(!l?.raw||Number(l.raw.paymentType)!==2){p(e("OVERVIEW_PAGE_SelectedMethodNotOnline")),v(!1);return}const f=Array.isArray(l.raw.installments)?l.raw.installments.find(g=>Number(g?.installmentCount??g?.count??g?.installment??g?.months??g?.value)===1)||l.raw.installments[0]:null,E=Ee,k=Number(f?.total),L=Number.isFinite(k)&&k>0?k:null,$e=L!=null?Math.max(L,E):E,qe=Number($e.toFixed(2)),Ye=f&&String(f.currencyCode)||Str
1ing(a.currencyCode||ue.CODE),Se=String(l?.raw?.posCode||l?.code||"").trim();if(!Se){p(e("OVERVIEW_PAGE_PosCodeNotFound")),v(!1);return}const He=1,Ae=!1,_e=window.location.origin,ne=_(),Ke=new URLSearchParams({status:"success",isDepositPayment:String(Ae)}),Je=new URLSearchParams({status:"error",isDepositPayment:String(Ae)}),Qe=`${_e}/${ne}/payment/callback?${Ke.toString()}`,Xe=`${_e}/${ne}/payment/callback?${Je.toString()}`,Ze={basketId:r,posCode:Se,amount:qe,currencyCode:Ye,installmentCount:He,languageCode:ne,successUrl:Qe,errorUrl:Xe,relationId:r,isAfterBooking:!1};try{const g=await fetch("/api/create-payment",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(Ze)}),A=await g.json();if(g.ok&&A.success){const C=A?.data?.detail;if(C?.paymentRedirect?.url){window.location.href=C.paymentRedirect.url;return}if(C?.paymentForm){const w=document.createElement("div");w.style.display="none",w.innerHTML=At(C.paymentForm,{ALLOWED_TAGS:["form","input","button","script"],ALLOWED_ATTR:["type","name","value","action","method","id","class"]}),document.body.appendChild(w),w.querySelector("form")?.submit();return}}p(A.error||e("OVERVIEW_PAGE_PaymentRedirectError"))}catch(g){console.error("payment/create error:",g),p(g?.message||e("OVERVIEW_PAGE_PaymentRequestError"))}finally{v(!1)}}catch(o){console.error("onProceed error:",o),p(o?.message||e("OVERVIEW_PAGE_UnexpectedError")),v(!1)}}return t.jsxs("div",{className:"min-h-screen bg-white",children:[t.jsx(bt,{currentStep:"overview",basketId:r,flightResultsPath:We}),t.jsxs("div",{className:"container mt-5 mx-auto max-w-7xl px-4 py-8 pb-36 lg:pb-8",children:[t.jsx("div",{className:"mb-5",children:t.jsx("h1",{className:"font-dinb text-2xl whitespace-nowrap",children:e("OVERVIEW_PAGE_Title")})}),b&&t.jsxs("div",{className:"mb-4 rounded-xl border border-sky-300 bg-sky-50 p-3 text-sky-800",children:[t.jsx("div",{className:"font-dins",children:e("COMMON_Loading")||"Loading"}),t.jsx("div",{className:"text-sm",children:e("PAYMENT_CALLBACK_PleaseWait")})]}),Q&&!q&&t.jsxs("div",{className:"mb-4 rounded-xl border border-sky-300 bg-sky-50 p-3 text-sky-800",children:[t.jsx("div",{className:"font-dins",children:e("COMMON_Loading")||"Loading"}),t.jsx("div",{className:"text-sm",children:e("OVERVIEW_PAGE_VerifyingFlightPrice")||"Verifying flight price..."})]}),q&&t.jsxs("div",{className:"mb-4 rounded-xl border border-amber-300 bg-amber-50 p-3 text-amber-800",children:[t.jsx("div",{className:"font-dins",children:e("OVERVIEW_PAGE_PriceChanged")||"Price changed"}),t.jsx("div",{className:"text-sm",children:q})]}),!z&&!q&&!S&&t.jsxs("div",{className:"mb-4 rounded-xl border border-amber-300 bg-amber-50 p-3 text-amber-800",children:[t.jsx("div",{className:"font-dins",children:e("OVERVIEW_PAGE_PrebookFailed")}),t.jsx("div",{className:"text-sm",children:Be||e("OVERVIEW_PAGE_PrebookFailedDesc")})]}),y&&t.jsxs("div",{className:"mb-4 rounded-xl border border-red-300 bg-red-50 p-3 text-red-700",children:[t.jsx("div",{className:"font-dins",children:e("OVERVIEW_PAGE_Error")}),t.jsx("div",{className:"text-sm",children:y})]}),t.jsxs("div",{className:"grid grid-cols-1 gap-6 lg:grid-cols-[1fr_360px]",children:[t.jsxs("section",{className:"space-y-6",children:[t.jsxs("div",{className:"rounded-2xl border bg-white p-4 shadow-sm",children:[t.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[t.jsx("input",{type:"text",value:K,onChange:a=>{I(a.target.value),se&&$(null)},placeholder:e("OVERVIEW_PAGE_PromoPlaceholder")||"Promo code",className:G("rounded-lg border px-3 py-2 text-sm outline-none focus:border-cyan-500 focus:ring-1 focus:ring-cyan-500",j||P?"cursor-not-allowed border-gray-200 bg-gray-100 text-gray-500":"border-gray-300"),"aria-label":e("OVERVIEW_PAGE_PromoPlaceholder")||"Promo code",disabled:j||!!P}),t.jsx("button",{type:"button",onClick:P?ze:Ue,disabled:j||!P&&!K.trim(),className:G("rounded-lg px-4 py-2 font-dins text-sm",j||!P&&!K.trim()?"cursor-not-allowed bg-gray-200 text-gray-500":P?"bg-red-50 text-red-700 hover:bg-red-100":"bg-gray-200 text-gray-800 hover:bg-gray-300"),children:j?e("COMMON_Loading")||"Loading":P?e("FLIGHT_SEARCH_Remove")||"Remove":e("OVERVIEW_PAGE_PromoApply")||"Apply"})]}),D&&t.jsx("div",{className:G("mt-3 rounded-lg border px-3 py-2 text-sm",D.tone==="success"?"border-emerald-200 bg-emerald-50 text-emerald-700":"border-red-200 bg-red-50 text-red-700"),children:t.jsxs("div",{className:"flex items-center justify-between gap-3",children:[t.jsx("span",{children:D.message}),D.tone==="success"&&xe>0?t.jsx("span",{className:"shrink-0 font-dins",children:s(-xe,X,{minimumFractionDigits:2,maximumFractionDigits:2})}):null]})})]}),t.jsxs("div",{className:"rounded-2xl border bg-white p-4 shadow-sm",children:[t.jsx("div",{className:"mb-2 font-dins",children:e("OVERVIEW_PAGE_Travellers")}),T?.length?t.jsx("ul",{className:"space-y-2",children:T.map(a=>t.jsxs("li",{className:"flex items-center justify-between rounded-xl bg-gray-50 px-3 py-2",children:[t.jsxs("div",{children:[t.jsxs("div",{className:"font-dins",children:[a.title?`${a.title} `:"",a.firstName," ",a.lastName,a.isLeader?t.jsx("span",{className:"ml-2 roun
1ded bg-cyan-100 px-2 py-0.5 text-[12px] text-cyan-800",children:e("OVERVIEW_PAGE_Contact")}):null]}),t.jsx("div",{className:"text-gray-600 text-[12px]",children:Dt(a.birthDate??void 0)})]}),a?.passport?.number?t.jsxs("div",{className:"text-[12px] text-gray-600",children:[e("OVERVIEW_PAGE_Passport"),": ",a.passport.number]}):null]},a.id))}):t.jsx("div",{className:"text-sm text-gray-600",children:e("OVERVIEW_PAGE_NoTravellerInfo")})]}),t.jsxs("div",{className:"rounded-2xl border bg-white p-4 shadow-sm",children:[t.jsx("div",{className:"mb-2 font-dins",children:e("STEP_Payment")}),S?t.jsxs("div",{role:"alert",className:"flex items-start gap-2 rounded-xl border border-amber-300 bg-amber-50 p-3 text-amber-800",children:[t.jsx(Re,{className:"mt-0.5 h-4 w-4 shrink-0","aria-hidden":"true"}),t.jsx("div",{className:"text-sm",children:e("OVERVIEW_PAGE_AdditionalServicesCutoff")})]}):b?t.jsx("div",{className:"text-sm text-gray-600",children:e("COMMON_Loading")||"Loading"}):z?O.length===0?t.jsx("div",{className:"text-sm text-gray-600",children:e("OVERVIEW_PAGE_NoPaymentMethods")}):t.jsxs(t.Fragment,{children:[t.jsx("div",{className:"space-y-2",children:O.filter(a=>a.code!=="-99").map(a=>{const o=String(a?.raw?.logoClass||a?.name||a?.code||"").toLowerCase().replace(/\s+/g,""),i=h===a.code,c=Pt(a);return t.jsxs("label",{className:G("flex cursor-pointer items-center justify-between rounded-xl border px-3 py-2",i?"border-cyan-500 bg-cyan-50":"border-gray-200 bg-gray-50"),children:[t.jsxs("div",{className:"flex min-w-0 items-center gap-3",children:[t.jsx("input",{type:"radio",name:"pay-method",checked:i,onChange:()=>Z(a.code),className:"h-4 w-4 accent-cyan-600","aria-label":a.name}),t.jsxs("div",{className:"flex min-w-0 items-center gap-2",children:[c?t.jsx("i",{className:"pay-logo pay-creditcard","aria-hidden":"true"}):t.jsx(vt,{logoKey:o,code:a.code}),t.jsx("span",{className:"font-dins truncate",children:a.name})]})]}),t.jsx("div",{className:"flex items-center gap-3",children:c?t.jsx(St,{}):a.installments?.length?t.jsx(t.Fragment,{}):null})]},a.code)})}),t.jsx("div",{className:"mt-4 flex justify-end",children:t.jsx("button",{disabled:S||!h||V||b||B,onClick:ve,className:G("rounded-xl px-5 py-2.5 font-dins text-white shadow",S||!h||V||b||B?"bg-gray-400":"bg-cyan-600 hover:bg-cyan-700"),children:e(V||b||Q?"OVERVIEW_PAGE_Processing":"OVERVIEW_PAGE_Continue")})})]}):t.jsx("div",{className:"text-sm text-gray-600",children:e("OVERVIEW_PAGE_PrebookRequired")})]})]}),t.jsx("aside",{className:"sticky top-20 hidden self-start lg:block",children:t.jsx(Ce,{basket:u,currency:X,promoStatus:D})})]}),t.jsx(xt,{eyebrowLabel:e("TRIP_SUMMARY_AmountPayable"),amountLabel:s(Ee,X),basketLabel:e("TRAVELLERS_ViewBasket"),continueLabel:e(V||b||Q?"OVERVIEW_PAGE_Processing":"OVERVIEW_PAGE_Continue"),continueDisabled:S||!z||!h||V||b||B,onContinue:ve,onOpenBasket:()=>R(!0)}),t.jsx("div",{className:G("fixed inset-x-0 bottom-0 z-50 rounded-t-2xl bg-white shadow-2xl transition-transform duration-300 lg:hidden","max-h-svh",d?"translate-y-0":"translate-y-[105%]"),children:t.jsxs("div",{className:"flex h-[85svh] flex-col",children:[t.jsxs("div",{className:"flex shrink-0 items-center justify-between border-b bg-white px-4 py-3",children:[t.jsx("div",{className:"font-dins",children:e("TRAVELLERS_YourBasket")}),t.jsx("button",{onClick:()=>R(!1),className:"rounded-full border px-3 py-1 text-sm",children:e("TRAVELLERS_Close")})]}),t.jsx("div",{className:"min-h-0 flex-1 overflow-y-auto p-4",children:t.jsx(Ce,{basket:u,currency:X,promoStatus:D,showSessionTimer:!1})})]})}),t.jsx(at,{open:!!ye,onOpenChange:a=>{a||N(null)},children:t.jsxs(st,{children:[t.jsxs(ot,{children:[t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsx(Re,{className:"h-5 w-5 text-red-600"}),t.jsx(nt,{children:e("OVERVIEW_PAGE_Error")||e("COMMON_Error")})]}),t.jsx(it,{className:"pt-2",children:ye||e("OVERVIEW_PAGE_PromoNotAvailable")||"Coupon is not available."})]}),t.jsx(lt,{children:t.jsx(ct,{onClick:()=>N(null),children:e("COMMON_Close")||"Close"})})]})})]})]})}const Ut=Object.freeze(Object.defineProperty({__proto__:null,default:Mt},Symbol.toStringTag,{value:"Module"}));function zt(e){const r=e.data?.resolver?.relationTypeData?.[0]?.mainData?.name;return r?`${r} | ${re.PAGE_TITLE}`:`${Ie.t("OVERVIEW_PAGE_Title")} | ${re.PAGE_TITLE}`}const $t=Object.freeze(Object.defineProperty({__proto__:null,default:zt},Symbol.toStringTag,{value:"Module"}));function qt(e){const r=e.data?.resolver?.relationTypeData?.[0]?.mainData?.name;return r?`${r} - ${re.PAGE_TITLE}
1`:`${Ie.t("OVERVIEW_PAGE_Description")} - ${re.PAGE_TITLE}`}const Yt=Object.freeze(Object.defineProperty({__proto__:null,default:qt},Symbol.toStringTag,{value:"Module"})),xr={hasServerOnlyHook:{type:"computed",definedAtData:null,valueSerialized:{type:"js-serialized",value:!0}},isClientRuntimeLoaded:{type:"computed",definedAtData:null,valueSerialized:{type:"js-serialized",value:!0}},onBeforeRenderEnv:{type:"computed",definedAtData:null,valueSerialized:{type:"js-serialized",value:{server:!0}}},dataEnv:{type:"computed",definedAtData:null,valueSerialized:{type:"js-serialized",value:{server:!0}}},guardEnv:{type:"computed",definedAtData:null,valueSerialized:{type:"js-serialized",value:null}},onRenderClient:{type:"standard",definedAtData:{filePathToShowToUser:"vike-react/__internal/integration/onRenderClient",fileExportPathToShowToUser:[]},valueSerialized:{type:"pointer-import",value:gt}},onPageTransitionStart:{type:"standard",definedAtData:{filePathToShowToUser:"/pages/+onPageTransitionStart.ts",fileExportPathToShowToUser:[]},valueSerialized:{type:"plus-file",exportValues:ft}},onPageTransitionEnd:{type:"standard",definedAtData:{filePathToShowToUser:"/pages/+onPageTransitionEnd.ts",fileExportPathToShowToUser:[]},valueSerialized:{type:"plus-file",exportValues:pt}},Page:{type:"standard",definedAtData:{filePathToShowToUser:"/pages/overview/+Page.tsx",fileExportPathToShowToUser:[]},valueSerialized:{type:"plus-file",exportValues:Ut}},hydrationCanBeAborted:{type:"standard",definedAtData:{filePathToShowToUser:"vike-react/config",fileExportPathToShowToUser:["default","hydrationCanBeAborted"]},valueSerialized:{type:"js-serialized",value:!0}},hooksTimeout:{type:"standard",definedAtData:{filePathToShowToUser:"/pages/+config.ts",fileExportPathToShowToUser:["default","hooksTimeout"]},valueSerialized:{type:"js-serialized",value:{data:{warning:!1,error:18e4},onBeforeRender:{warning:!1,error:18e4}}}},Layout:{type:"cumulative",definedAtData:[{filePathToShowToUser:"/layouts/LayoutDefault.tsx",fileExportPathToShowToUser:[]}],valueSerialized:[{type:"pointer-import",value:mt}]},title:{type:"standard",definedAtData:{filePathToShowToUser:"/pages/overview/+title.ts",fileExportPathToShowToUser:[]},valueSerialized:{type:"plus-file",exportValues:$t}},description:{type:"standard",definedAtData:{filePathToShowToUser:"/pages/overview/+description.ts",fileExportPathToShowToUser:[]},valueSerialized:{type:"plus-file",exportValues:Yt}},Loading:{type:"standard",definedAtData:{filePathToShowToUser:"vike-react/__internal/integration/Loading",fileExportPathToShowToUser:[]},valueSerialized:{type:"pointer-import",value:ut}}};export{xr as configValuesSerialized};
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.