PageSourceSearch

https://nuitee.link/assets/ManageBookings-DgrCa34k.js

js nuitee.link collected 2026-10-05 21:52:12 UTC 6,252 bytes, 1 lines download raw bytes

1import{e as G,a2 as H,I as K,aS as L,t as $,T as j,aT as Q,aU as J,a3 as P,a4 as q,v as W}from"./main-kBzK4eIG.js";import{v as X}from"./index-CR_Y1Yp8.js";import{d as Y,r as u,c as Z,z as v,C as s,f as p,E as r,u as a,D as d,S as k,O as y,Q as x,N as w,L as ee,A as c}from"./vendor-primevue-CeEACqX_.js";import{B as ae,P as oe}from"./plane-takeoff-CEzzlEiR.js";import{u as se}from"./vendor-i18n-G4dYfk6F.js";import"./vendor-fontawesome-CHTXNQM2.js";import"./vendor-luxon-D-syak89.js";import"./vendor-pako-DwGzBETv.js";import"./vendor-posthog-B2YXpdD_.js";import"./vendor-query-B7KhvNMU.js";import"./file-download-idIKGCAR.js";import"./http-CCRDJRhH.js";const te="/assets/manage-booking-CSObvb2z.png",ne={class:"container v-manageBookings"},ie={class:"left-column"},le={class:"back-text"},re={class:"welcome-text-container"},de={class:"welcome-text"},ue={class:"description-text"},ce={key:0,class:"manage-bookings-tabs"},ge={class:"v-manageBookings--content"},me={class:"grid formgrid p-fluid v-manageBookings--content-fields"},pe={class:"w-full field"},ve={class:"w-full field"},ke=["for"],fe={key:0,class:"error-message"},be={class:"btn-container"},he=Y({__name:"ManageBookings",setup(Be){const{t}=se(),N=G.project.settings,E=N.enableFlights===!0,V=N.enableExperiences===!0,n=u("hotels"),g=u(""),f=u(""),b=u(""),h=u(""),m=$(),T=j(),i=u(!1),B=u(!1),_=u("");H({title:"Manage my bookings"});const M=Z(()=>n.value==="flights"?b.value:n.value==="experiences"?h.value:f.value),U=async()=>{const o=await Q({lastName:g.value,providerBookingId:f.value.trim()});await m.push({name:"manage-booking",params:{id:o.bookingId},query:{email:o.email}})},S=async()=>{const o=await J({lastName:g.value,bookingId:b.value.trim()});await m.push({path:"/flights/booking-confirmation",query:{bookingId:o.bookingId,email:o.email}})},A=async()=>{try{const o=await X({lastName:g.value,bookingId:h.value.trim()});P(q.MANAGE_BOOKING_LOOKUP_SUBMITTED,{result:"found"}),await m.push({name:"experience-manage-booking",params:{bookingId:o.bookingId},query:{email:o.email}})}catch(o){throw P(q.MANAGE_BOOKING_LOOKUP_SUBMITTED,{result:"not_found"}),o}},z=async()=>{if(B.value=!0,i.value=!1,!g.value||!M.value.trim()){i.value=!0,_.value=t("manageBookings.fillAllFields"),B.value=!1;return}try{n.value==="flights"?await S():n.value==="experiences"?await A():await U()}catch(o){i.value=!0,_.value=o.response?.data?.error||o.message,console.error(o)}finally{B.value=!1}},I=()=>{i.value=!1,_.value=""},F=()=>{const o=T.query.from;if(o)try{const e=atob(o),[l,O]=e.split("?"),C={};if(O)for(const[D,R]of new URLSearchParams(O).entries())C[D]=R;m.push({path:l,query:C})}catch{m.push({name:"home"})}else m.push({name:"home"})};return(o,e)=>(c(),v("div",ne,[s("div",ie,[s("div",{class:"back-button",onClick:F},[p(K,{name:"chevron-left"}),s("span",le,r(a(t)("checkout.backText")),1)]),s("div",re,[s("h1",de,r(a(t)("manageBookings.welcomeText")),1),s("p",ue,r(a(t)("manageBookings.credentialsPrompt")),1)]),E||V?(c(),v("div",ce,[s("button",{type:"button",class:d(["manage-bookings-tab",{"manage-bookings-tab--active":n.value==="hotels"}]),onClick:e[0]||(e[0]=l=>n.value="hotels")},[p(a(ae),{size:16}),k(" "+r(a(t)("dashboard.hotelBookings")),1)],2),E?(c(),v("button",{key:0,type:"button",class:d(["manage-bookings-tab",{"manage-bookings-tab--active":n.value==="flights"}]),onClick:e[1]||(e[1]=l=>n.value="flights")},[p(a(oe),{size:16}),k(" "+r(a(t)("dashboard.flightReservations")),1)],2)):y("",!0),V?(c(),v("button",{key:1,type:"button",class:d(["manage-bookings-tab",{"manage-bookings-tab--active":n.value==="experiences"}]),onClick:e[2]||(e[2]=l=>n.value="experiences")},[p(a(L),{class:"product-switch-item__lucide-icon",size:20,"stroke-width":1.75,"aria-hidden":"true"}),k(" "+r(a(t)("siteHeader.experiences")),1)],2)):y("",!0)])):y("",!0),s("div",ge,[s("div",me,[s("div",pe,[s("label",{for:"lastName",class:d({"p-invalid":i.value})},[k(r(a(t)("manageBookings.lastName"))+" ",1),e[7]||(e[7]=s("span",{class:"required"},"*",-1))],2),p(a(x),{modelValue:g.value,"onUpdate:modelValue":e[3]||(e[3]=l=>g.value=l),id:"lastName",class:d(["rounded-input radius_md",{"p-invalid":i.value}]),placeholder:a(t)("manageBookings.lastNamePlaceholder"),required:"",onInput:I,"data-testid":"last-name-input"},null,8,["modelValue","placeholder","class"])]),s("div",ve,[s("label",{for:n.value==="flights"?"flightBookingId":n.value==="experiences"?"experienceBookingId":"providerBookingId",class:d({"p-invalid":i.value})},[k(r(n.value==="flights"?a(t)("manageBookings.flightBookingIdOrPnr"):n.value==="experiences"?a(t)("manageBookings.experienceOrderId"):a(t)("manageBookings.bookingIdOrConfirmationNumber"))+" ",1),e[8]||(e[8]=s("span",{class:"required"},"*",-1))],10,ke),n.value==="flights"?(c(),w(a(x),{key:0,modelValue:b.value,"onUpdate:modelValue":e[4]||(e[4]=l=>b.value=l),id:"flightBookingId",class:d(["rounded-input radius_md",{"p-invalid":i.value}]),placeholder:a(t)("manageBookings.flightBookingIdPlaceholder"),required:"",onInput:I,"data-testid":"flight-booking-id-input"},null,8,["modelValue","placeholder","class"])):n.value==="experiences"?(c(),w(a(x),{key:1,modelValue:h.value,"onUpdate:modelValue":e[5]||(e[5]=l=>h.value=l),id:"experienceBookingId",class:d(["rounded-input radius_md",{"p-invalid":i.value}]),placeholder:a(t)("manageBookings.experienceOrderIdPlaceholder"),required:"",onInput:I,"data-testid":"experience-booking-id-input"},null,8,["modelValue","placeholder","class"])):(c(),w(a(x),{key:2,modelValue:f.value,"onUpdate:modelValue":e[6]||(e[6]=l=>f.value=l),id:"providerBookingId",class:d(["rounded-input radius_md",{"p-invalid":i.value}]),placeholder:a(t)("manageBookings.bookingIdPlaceholder"),required:"",onInput:I,"data-testid":"booking-id-input"},null,8,["modelValue","placeholder","class"]))])]),i.value?(c(),v("span",fe,r(_.value),1)):y("",!0)]),s("div",be,[p(a(ee),{label:a(t)("manageBookings.continue"),class:"btn-search radius_md",onClick:z,loading:B.value,disabled:i.value,"data-testid":"submit-button"},null,8,["label","loading","disabled"])])]),e[9]||(e[9]=s("div",{class:"right-column"},[s("img",{src:te,alt:"Image",class:"block md:ml-auto md:h-full radius_md"})],-1))]))}}),Te=W(he,[["__scopeId","data-v-0b98de7a"],["__file","ManageBookings.vue"]]);export{Te 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.