PageSourceSearch

https://www.airporttransfers.ai/_next/static/chunks/pages/quotation/[id]-65e3a7f53d09fd95.js

js airporttransfers.ai collected 2026-10-05 13:28:45 UTC 27,847 bytes, 1 lines download raw bytes

1try{!function(){var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},t=(new e.Error).stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="4dbe31ad-e839-4482-976f-c7a9a0dc27ce",e._sentryDebugIdIdentifier="sentry-dbid-4dbe31ad-e839-4482-976f-c7a9a0dc27ce")}()}catch(e){}(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2164],{30517:(e,t,s)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/quotation/[id]",function(){return s(80358)}])},80358:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>D});var a=s(37876),l=s(14232),r=s(89099),i=s(9324),n=s(60781),o=s(51917),d=s(89848);s(28212);var c=s(79845),u=s(34923),m=s(92365),x=s(19345),h=s(7056),g=s(82366),b=s(21098),f=s(38129),p=s(95316),y=s(25104),j=s(21744),v=s(92362),N=s(28364),w=s(44937),k=s(3738),_=s(22979),A=s(67295),q=s(10458),C=s(97842),S=s(18024),I=s(79890),T=s(64004);let z="/placeholder.svg",M=(e,t)=>new Intl.NumberFormat("en-US",{style:"currency",currency:t||"USD",currencyDisplay:"code"}).format(e),E=e=>Math.round((e+Number.EPSILON)*100)/100;function D(){var e,t,s,D,P,F,O,L,B,V,G,R;let H=(0,r.useRouter)(),{id:U}=H.query,[Y,J]=(0,l.useState)(null),[Q,X]=(0,l.useState)(!0),[W,K]=(0,l.useState)(null),[Z,$]=(0,l.useState)(!1),[ee,et]=(0,l.useState)("accommodation"),[es,ea]=(0,l.useState)(0),[el,er]=(0,l.useState)(!1),[ei,en]=(0,l.useState)(null),[eo,ed]=(0,l.useState)(null),[ec,eu]=(0,l.useState)(!1),[em,ex]=(0,l.useState)(""),[eh,eg]=(0,l.useState)(!1),[eb,ef]=(0,l.useState)({success:!1,error:null}),[ep,ey]=(0,l.useState)(!1),[ej,ev]=(0,l.useState)({success:!1,error:null}),[eN,ew]=(0,l.useState)(!1),[ek,e_]=(0,l.useState)(!1),[eA,eq]=(0,l.useState)(null),eC="accepted"===((null==Y||null==(e=Y.quotation)?void 0:e.status)||(null==Y?void 0:Y.status)||"").toLowerCase(),{agentData:eS,fetchAgentData:eI}=(0,o.G)();(0,l.useEffect)(()=>{(null==Y?void 0:Y.encoded_user_id)&&eI("agent/".concat(Y.encoded_user_id,"/sub_site"))},[null==Y?void 0:Y.encoded_user_id,eI]),(0,l.useEffect)(()=>{H.isReady&&U&&(async()=>{X(!0);try{let e=await (0,u.Nv)(U);if(!(null==e?void 0:e.data))throw Error((null==e?void 0:e.message)||"Quotation data was not returned by the API.");J(e.data),K(null)}catch(e){K(e.message),console.error("Error fetching quotation:",e)}finally{X(!1)}})()},[U,H.isReady]);let eT=(0,l.useMemo)(()=>{if(!(null==Y?void 0:Y.images))return[];let e=new Set;return Y.images.filter(t=>{let s=e.has(t.image);return e.add(t.image),!s})},[null==Y?void 0:Y.images]);(0,l.useEffect)(()=>{if(!(null==Y?void 0:Y.images)||0===eT.length)return;let e=setInterval(()=>{ea(e=>(e+1)%(eT.length||1))},4e3);return()=>clearInterval(e)},[Y,eT]);let ez=e=>e&&e.length>0?e.reduce((e,t)=>e+parseFloat(t.totle_sales||0),0):0,eM=(0,l.useMemo)(()=>ez(null==Y?void 0:Y.quotationHotel),[Y]),eE=(0,l.useMemo)(()=>ez(null==Y?void 0:Y.quotationMeal),[Y]),eD=(0,l.useMemo)(()=>ez(null==Y?void 0:Y.quotationTransport),[Y]),eP=(0,l.useMemo)(()=>ez(null==Y?void 0:Y.quotationActivity),[Y]),eF=(0,l.useMemo)(()=>ez(null==Y?void 0:Y.quotationTicket),[Y]),eO=(0,l.useMemo)(()=>ez(null==Y?void 0:Y.quotationVisa),[Y]),eL=(0,l.useMemo)(()=>eM+eE+eD+eP+eF+eO,[eM,eE,eD,eP,eF,eO]),eB=(0,l.useMemo)(()=>{var e;let t=parseFloat(null==Y||null==(e=Y.quotation)?void 0:e.totle_sales);return Number.isFinite(t)&&t>0?t:eL},[null==Y||null==(t=Y.quotation)?void 0:t.totle_sales,eL]),eV=(0,l.useMemo)(()=>{var e;if(!(null==Y?void 0:Y.addons)||!(null==Y||null==(e=Y.quotation)?void 0:e.addons))return[];let t=Y.quotation.addons.map(e=>e.addon_id);return Y.addons.filter(e=>t.includes(e.id))},[null==Y?void 0:Y.addons,null==Y||null==(s=Y.quotation)?void 0:s.addons]),eG=(0,l.useMemo)(()=>eV?eV.reduce((e,t)=>e+parseFloat(t.price||0),0):0,[eV]),eR=(0,l.useMemo)(()=>eB+eG,[eB,eG]);(0,l.useMemo)(()=>{var e,t,s,a,l,r,i,n,o;let d=((null==Y||null==(e=Y.quotation)?void 0:e.agent_markup_type)||(null==Y||null==(t=Y.quotation)?void 0:t.markup_type)||"").toLowerCase(),c=parseFloat(null!=(o=null!=(n=null!=(i=null==Y||null==(s=Y.quotation)?void 0:s.agent_markup_value)?i:null==Y||null==(a=Y.quotation)?void 0:a.markup_value)?n:null==Y||null==(l=Y.quotation)?void 0:l.markup_amount)?o:0),u=parseFloat((null==Y||null==(r=Y.quotation)?void 0:r.final_cost)||0),m=0;if((m=c>0?"percentage"===d?E(eB*c/100):E(c):E(u-eR))<=0)return null;let x=[{id:"Accommodation",cost:eM},{id:"Meals",cost:eE},{id:"Transfers",cost:eD},{id:"Activities",cost:eP},{id:"Tickets",cost:eF},{id:"Visa",cost:eO}].filter(e=>e.cost>0),h=x.reduce((e,t)=>
1e+t.cost,0);if(h<=0)return null;let g=0,b=x.map((e,t)=>{let s=t===x.length-1?E(m-g):E(e.cost/h*m);return g=E(g+s),{...e,markup:s}});return{total:m,breakdown:b}},[null==Y||null==(D=Y.quotation)?void 0:D.agent_markup_type,null==Y||null==(P=Y.quotation)?void 0:P.agent_markup_value,null==Y||null==(F=Y.quotation)?void 0:F.markup_type,null==Y||null==(O=Y.quotation)?void 0:O.markup_value,null==Y||null==(L=Y.quotation)?void 0:L.markup_amount,null==Y||null==(B=Y.quotation)?void 0:B.final_cost,eR,eB,eM,eE,eD,eP,eF,eO]);let eH=(0,l.useMemo)(()=>(null==Y?void 0:Y.quotationItinerary)?Y.quotationItinerary.reduce((e,t)=>{let s=t.day;return e[s]||(e[s]=[]),e[s].push(t),e[s].sort((e,t)=>e.start_time?t.start_time?e.start_time.localeCompare(t.start_time):-1:1),e},{}):{},[null==Y?void 0:Y.quotationItinerary]),eU=(0,l.useMemo)(()=>{var e,t;if(!Y)return"...";let s=[],a=null==(e=Y.inquiry)?void 0:e.nights,l=Y.quotationMeal||[],r=Y.quotationTransport||[],i=(null==(t=Y.quotationActivity)?void 0:t.length)||0;if(a>0){let e=l.some(e=>(e.description||"").toLowerCase().includes("breakfast"));s.push("".concat(a," Night").concat(a>1?"s":""," Accommodation").concat(e?" with Breakfast":""))}let n=r.filter(e=>(e.description||"").toLowerCase().includes("airport")).length;return n>0&&s.push("".concat(n," Way Airport Transfer")),i>0&&s.push("".concat(i," Tour").concat(i>1?"s":"")),s.join(", ")},[Y]),eY=async e=>{if(e.preventDefault(),em.trim()&&!eh){eg(!0),ef({success:!1,error:null});try{var t;let e={quotation_id:U,remarks:em,by:String((null==Y||null==(t=Y.agentInfo)?void 0:t.id)||"0")},s=await fetch("".concat("https://app.airporttransfers.ai/api","/quotations/update/remarks"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(!s.ok){let e=await s.json().catch(()=>({message:"API submission failed with status "+s.status}));throw Error(e.message)}let a=await s.json();if(!a.status)throw Error(a.message||"An unknown API error occurred.");ef({success:!0,error:null}),ex(""),setTimeout(()=>{eu(!1)},2e3)}catch(e){ef({success:!1,error:e.message||"An error occurred."})}finally{eg(!1)}}},eJ=async()=>{if(Z&&!ep&&!eC){ey(!0),ev({success:!1,error:null});try{let e=await fetch("".concat("https://app.airporttransfers.ai/api","/quotations/update/status"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({quotation_id:U,status:"Accepted"})});if(!e.ok){let t=await e.json().catch(()=>({message:"Failed to accept offer."}));throw Error(t.message)}let t=await e.json();if(!t.status)throw Error(t.message||"An unknown error occurred while accepting the offer.");J(e=>e?{...e,quotation:e.quotation?{...e.quotation,status:"Accepted"}:e.quotation,status:"Accepted"}:e),ev({success:!0,error:null}),d.oR.success("Offer accepted successfully!")}catch(e){ev({success:!1,error:e.message})}finally{ey(!1)}}},eQ=(e,t)=>{if(!(t&&(Array.isArray(t)?t.length>0:"string"==typeof t&&""!==t.trim())))return null;let s=eA===e;return(0,a.jsxs)("div",{className:"border-b border-gray-200 last:border-0",children:[(0,a.jsxs)("button",{onClick:()=>eq(s?null:e),className:"w-full py-4 flex justify-between items-center text-left focus:outline-none hover:bg-gray-50 px-2 rounded-lg transition-colors",children:[(0,a.jsx)("h3",{className:"text-base font-semibold text-gray-800",children:e}),s?(0,a.jsx)(f.A,{size:20,className:"text-gray-500"}):(0,a.jsx)(p.A,{size:20,className:"text-gray-500"})]}),s&&(0,a.jsx)("div",{className:"pb-4 px-2 prose prose-sm max-w-none text-gray-700 animate-in fade-in slide-in-from-top-2 duration-200",children:Array.isArray(t)?(0,a.jsx)("ul",{className:"pl-0 space-y-3 list-none my-0",children:t.map((e,t)=>(0,a.jsxs)("li",{className:"p-3 bg-gray-50 rounded-md border",children:[e.title&&(0,a.jsx)("p",{className:"font-bold text-gray-900 not-prose mb-1",children:e.title}),e.description&&(0,a.jsx)("div",{dangerouslySetInnerHTML:{__html:e.description}})]},t))}):(0,a.jsx)("div",{dangerouslySetInnerHTML:{__html:t}})})]})},eX=[{id:"accommodation",label:"Accommodation",icon:x.A,cost:eM,items:null==Y?void 0:Y.quotationHotel,condition:eM>0},{id:"meals",label:"Meals",icon:m.A,cost:eE,items:null==Y?void 0:Y.quotationMeal,condition:eE>0},{id:"transfers",label:"Transfers",icon:h.A,cost:eD,items:null==Y?void 0:Y.quotationTransport,condition:eD>0},{id:"activities",label:"Activities",icon:b.A,cost:eP,items:null==Y?void 0:Y.quotationActivity,condition:eP>0},{id:"tickets",label:"Tickets",icon:g.A,cost:eF,items:null==Y?void 0:Y.quotationTicket,condition:eF>0},{id:"visa",label:"Visa",icon:y.A,cost:eO,items:null==Y?void 0:Y.quotationVisa,condition:eO>0}],eW=(null==Y||null==(V=Y.branchCurrency)?void 0:V.name)||"USD";if(Q)return(0,a.jsx)("div",{className:"flex items-center justify-center min-h-screen bg-gray-100",children:(0,a.jsx)("div",{className:"animate-spin rounded-full h-16 w-16 border-t-2 border-b-2 border-blue-500"})});if(W||!Y)return(0,a.jsxs)("div",{className:"flex items-center justify-center min-h-screen bg-gray-100 text-red-600 font-semibold",children:["Error: ",W||"Quotation not found."]});let{quotation:eK,assignedUser:eZ,versions:e$}=Y;return eK.total_adult,eK.total_child,(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(i.A,{data:eS,userId:null==Y?void 0:Y.encoded_user_id}),ek&&(0,a.jsx)(c.A,{fullScreen:!0}),(0,a.jsxs)("div",{className:"min-h-screen  bg-gray-100 font-sans",children:[(0,a.jsxs)("main",{className:"max-w-7xl mx-auto px-4 py-8",children:[e$&&e$.length>1&&(0,a.jsxs)("div",{className:"mb-4",children:[(0,a.jsx)("label",{htmlFor:"version-select",className:"block text-sm font-medium text-gray-700 mb-2",children:"Select Version"}),(0,a.jsxs)("div",{className:"relative max-w-sm",children:[(0,a.jsx)("select",{id:"version-select",value:U,disabled:ek||ep||eh,onChange:e=>{let t=e.target.value;t&&t!==U&&(e_(!0),H.push("/quotation/".concat(t)))},className:"block w-full pl-3 pr-10 py-2 text-base border-gray-300 focus:outline-none focus:ring-blue-500 focus:border-blue-500 sm:text-sm rounded-md shadow-sm bg-white appearance-none truncate",children:e$.map(e=>(0,a.jsx)("option",{value:e.id,className:"truncate",children:e.name},e.id))}),(0,a.jsx)("div",{className:"pointer-events-none absolute inset-y-0 right-0 flex items-center px-2 text-gray-500",children:(0,a.jsx)(p.A,{size:16})})]})]}),(0,a.jsxs)("div",{className:"space-y-6",children:[(0,a.jsxs)("div",{className:"grid grid-cols-1 lg:grid-cols-5 ga
1p-6",children:[(0,a.jsxs)("div",{className:"lg:col-span-3 bg-white rounded-xl shadow-sm border border-gray-200 p-6 flex flex-col",children:[(0,a.jsxs)("div",{className:"mb-4",children:[(0,a.jsx)("h1",{className:"text-2xl font-bold text-gray-800 mb-2",children:eK.title}),(0,a.jsxs)("div",{className:"border-t pt-3 text-gray-500 text-sm space-y-2",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)(j.A,{className:"text-blue-500",size:16}),(0,a.jsxs)("span",{children:[new Date(eK.tour_start).toLocaleDateString("en-GB",{day:"2-digit",month:"short",year:"numeric"})," - ",new Date(eK.tour_end).toLocaleDateString("en-GB",{day:"2-digit",month:"short",year:"numeric"})]})]}),(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)(v.A,{className:"text-blue-500",size:16}),(0,a.jsx)("span",{children:eU})]})]})]}),(0,a.jsx)("div",{className:"mt-auto pt-6 flex items-center",children:(0,a.jsxs)("button",{onClick:()=>{var e;(null==Y||null==(e=Y.quotationItinerary)?void 0:e.length)>0&&ed(Object.keys(eH).sort((e,t)=>parseInt(e)-parseInt(t))[0]),er(!0)},disabled:ep||eh,className:"flex-1 py-3 text-base font-semibold text-blue-600 bg-blue-100 hover:bg-blue-200 rounded-lg flex items-center justify-center gap-2 transition-colors disabled:opacity-50 disabled:cursor-not-allowed",children:[(0,a.jsx)(N.A,{size:18})," Itinerary"]})})]}),(0,a.jsx)("div",{className:"lg:col-span-2 bg-white rounded-xl shadow-sm border border-gray-200 relative max-h-80 overflow-hidden",children:eT.length>0?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("img",{src:(0,T.m)(null==(G=eT[es])?void 0:G.image),onError:e=>{e.target.onerror=null,e.target.src=z},alt:null==(R=eT[es])?void 0:R.title,className:"w-full h-full object-cover rounded-xl"}),(0,a.jsx)("div",{className:"absolute inset-0 bg-gradient-to-t from-black/40 to-transparent rounded-xl"}),(0,a.jsx)("button",{onClick:()=>ea(e=>(e-1+(eT.length||1))%(eT.length||1)),className:"absolute left-3 top-1/2 -translate-y-1/2 bg-white/20 hover:bg-white/40 text-white p-2 rounded-full backdrop-blur-sm transition",children:(0,a.jsx)(w.A,{size:20})}),(0,a.jsx)("button",{onClick:()=>ea(e=>(e+1)%(eT.length||1)),className:"absolute right-3 top-1/2 -translate-y-1/2 bg-white/20 hover:bg-white/40 text-white p-2 rounded-full backdrop-blur-sm transition",children:(0,a.jsx)(k.A,{size:20})}),(0,a.jsx)("div",{className:"absolute bottom-3 left-1/2 -translate-x-1/2 flex gap-2",children:eT.map((e,t)=>(0,a.jsx)("div",{onClick:()=>ea(t),className:"h-2 rounded-full cursor-pointer transition-all ".concat(es===t?"w-6 bg-white":"w-2 bg-white/50")},t))})]}):(0,a.jsx)("div",{className:"w-full h-full flex items-center justify-center bg-gray-100 rounded-xl",children:(0,a.jsx)("p",{className:"text-gray-400",children:"No images available"})})})]}),(0,a.jsxs)("div",{className:"bg-white rounded-xl shadow-sm border border-gray-200 p-6",children:[(0,a.jsx)("h2",{className:"text-xl font-bold text-gray-800 mb-4",children:"Package Summary"}),(0,a.jsx)("div",{className:"space-y-2",children:eX.filter(e=>e.condition).map(e=>(0,a.jsxs)("div",{className:"bg-gray-50 border border-gray-200 rounded-lg",children:[(0,a.jsxs)("button",{onClick:()=>{var t;return t=e.id,void et(e=>e===t?null:t)},className:"w-full p-4 flex items-center justify-between text-left",children:[(0,a.jsxs)("div",{className:"flex items-center gap-3",children:[(0,a.jsx)(e.icon,{className:"text-blue-500",size:20}),(0,a.jsx)("span",{className:"font-semibold text-gray-700",children:e.label})]}),(0,a.jsxs)("div",{className:"flex items-center gap-3",children:[(0,a.jsx)("span",{className:"font-bold text-sm text-gray-800",children:M(e.cost,eW)}),ee===e.id?(0,a.jsx)(f.A,{size:18,className:"text-gray-500"}):(0,a.jsx)(p.A,{size:18,className:"text-gray-500"})]})]}),ee===e.id&&(0,a.jsx)("div",{className:"px-4 pb-4 border-t border-gray-200",children:e.items&&e.items.length>0?(0,a.jsx)("ul",{className:"mt-3 space-y-3",children:e.items.map(e=>{var t;let s=null==(t=Y.quotationItinerary)?void 0:t.find(t=>t.id==e.quotation_itinerary_id),l=e.image||(null==s?void 0:s.image);return(0,a.jsxs)("li",{className:"flex items-center gap-3 text-sm",children:[(0,a.jsx)("img",{src:(0,T.m)(l,"w_50,h_50,c_fill")||z,onError:e=>{e.target.onerror=null,e.target.src=z},alt:e.name||e.description,className:"w-10 h-10 rounded-md object-cover bg-gray-200 flex-shrink-0"}),(0,a.jsxs)("div",{className:"flex-grow",children:[(0,a.jsx)("p",{className:"font-semibold text-gray-700 min-h-[2.5rem] flex items-center",children:e.name||e.description}),(0,a.jsx)("p",{className:"text-xs text-gray-500",children:e.nights?"".concat(e.nights," Nights"):"Day ".concat(e.day||"N/A")})]}),(0,a.jsx)("span",{className:"font-semibold text-gray-800",children:M(e.totle_sales,eW)})]},e.id)})}):(0,a.jsx)("p",{className:"mt-3 text-sm text-gray-500",children:"Details not available."})})]},e.id))})]}),eV&&eV.length>0&&(0,a.jsxs)("div",{className:"bg-white rounded-xl shadow-sm border border-gray-200 p-6",children:[(0,a.jsx)("h2",{className:"text-xl font-bold text-gray-800 mb
1-6",children:"Included Add-ons"}),(0,a.jsx)("div",{className:"grid md:grid-cols-2 gap-4",children:eV.map(e=>(0,a.jsxs)("div",{className:"border border-gray-200 rounded-xl p-4 flex flex-col h-full",children:[(0,a.jsxs)("div",{className:"flex items-start gap-4 flex-grow",children:[(0,a.jsx)("img",{src:(0,T.m)(e.image,"w_60,h_60,c_fill"),onError:e=>{e.target.onerror=null,e.target.src=z},alt:e.title,className:"w-16 h-16 rounded-lg object-cover bg-gray-200 flex-shrink-0"}),(0,a.jsxs)("div",{children:[(0,a.jsx)("h3",{className:"font-semibold text-gray-800",children:e.title}),(0,a.jsx)("p",{className:"text-sm text-gray-500 mt-1 line-clamp-2",children:e.description})]})]}),(0,a.jsx)("div",{className:"mt-auto pt-4",children:(0,a.jsx)("p",{className:"font-bold text-blue-600",children:M(e.price,eW)})})]},e.id))})]}),(0,a.jsxs)("div",{className:"bg-white rounded-xl shadow-sm border border-gray-200 p-6",children:[(0,a.jsx)("h2",{className:"text-xl font-bold text-gray-800 mb-4",children:"Total Estimate"}),(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsxs)("div",{className:"flex justify-between text-gray-600",children:[(0,a.jsx)("span",{children:"Subtotal"}),(0,a.jsx)("span",{className:"font-medium",children:M(eB,eW)})]}),(0,a.jsxs)("div",{className:"flex justify-between text-gray-600",children:[(0,a.jsx)("span",{children:"Add-ons"}),(0,a.jsx)("span",{className:"font-medium",children:M(eG,eW)})]})]}),(0,a.jsx)("hr",{className:"my-4 border-gray-200"}),(0,a.jsxs)("div",{className:"flex justify-between items-center",children:[(0,a.jsx)("span",{className:"text-lg font-bold text-gray-800",children:"Grand Total"}),(0,a.jsx)("span",{className:"text-2xl font-bold text-blue-600",children:M(eR,eW)})]}),(0,a.jsxs)("div",{className:"flex items-center mt-6 mb-4",children:[(0,a.jsx)("input",{id:"terms",type:"checkbox",checked:Z,onChange:e=>$(e.target.checked),disabled:eC,className:"w-4 h-4 text-blue-600 bg-gray-100 border-gray-300 rounded focus:ring-blue-500 disabled:cursor-not-allowed disabled:opacity-60"}),(0,a.jsxs)("label",{htmlFor:"terms",className:"ml-2 text-sm text-gray-600",children:["I have read and accept the ",(0,a.jsx)("button",{type:"button",onClick:()=>ew(!0),className:"text-blue-600 hover:underline font-medium",children:"B2B terms and conditions"}),"."]})]}),ej.error&&(0,a.jsx)("p",{className:"mb-4 text-sm text-center text-red-600",children:ej.error}),(0,a.jsxs)("div",{className:"flex justify-items-center gap-5",children:[(0,a.jsxs)("button",{onClick:()=>{eu(!0),ef({success:!1,error:null}),ex("")},disabled:ep||eh||eC,className:"w-full py-2.5 text-sm font-semibold text-white bg-gray-800 hover:bg-gray-900 rounded-lg flex items-center justify-center gap-2 transition-colors disabled:bg-gray-300 disabled:cursor-not-allowed",children:[(0,a.jsx)(_.A,{size:16})," Share your remarks"]}),(0,a.jsxs)("a",{href:ep||eh?"#":"/site/".concat(Y.encoded_user_id,"/home#contact-cta"),className:"w-full py-2.5 text-sm font-semibold text-blue-600 bg-blue-100 hover:bg-blue-200 rounded-lg flex items-center justify-center gap-2 transition-colors no-underline ".concat(ep||eh?"opacity-50 cursor-not-allowed pointer-events-none":""),children:[(0,a.jsx)(A.A,{size:16})," Chat with Us"]}),(0,a.jsxs)("button",{onClick:eJ,disabled:eC||!Z||ep,className:"w-full py-2.5 text-sm font-semibold text-white bg-gray-800 hover:bg-gray-900 rounded-lg flex items-center justify-center gap-2 transition-colors disabled:bg-gray-300 disabled:cursor-not-allowed",children:[ep?(0,a.jsx)("div",{className:"animate-spin rounded-full h-4 w-4 border-t-2 border-b-2 border-white"}):(0,a.jsx)(q.A,{size:16}),ep?"Processing...":eC?"Offer Accepted":"Accept Offer"]})]})]})]})]}),el&&(0,a.jsx)("div",{className:"fixed inset-0 bg-black/60 flex items-center justify-center z-50 p-4",onClick:()=>er(!1),children:(0,a.jsxs)("div",{className:"bg-white rounded-xl shadow-2xl w-full max-w-4xl max-h-[90vh] flex flex-col",onClick:e=>e.stopPropagation(),children:[(0,a.jsxs)("div",{className:"p-4 border-b flex justify-between items-center",children:[(0,a.jsx)("h2",{className:"text-lg font-bold",children:"Day-by-Day Itinerary"}),(0,a.jsx)("button",{onClick:()=>er(!1),className:"text-gray-500 hover:text-gray-800",children:(0,a.jsx)(C.A,{size:20})})]}),(0,a.jsx)("div",{className:"p-6 overflow-y-auto bg-gray-50 flex-grow",children:Y.quotationItinerary&&Y.quotationItinerary.length>0?(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{className:"flex space-x-1 border-b border-gray-200",children:Object.keys(eH).sort((e,t)=>
1parseInt(e)-parseInt(t)).map(e=>(0,a.jsxs)("button",{onClick:()=>ed(e),className:"-mb-px px-4 py-2.5 text-sm font-semibold border-b-2 transition-colors ".concat(eo==e?"text-blue-600 border-blue-600":"text-gray-500 border-transparent hover:text-gray-700 hover:border-gray-300"),children:["Day ",e]},e))}),(0,a.jsx)("div",{className:"pt-6",children:eo&&eH[eo]&&(0,a.jsx)("div",{className:"relative",children:eH[eo].map(e=>{let t=ei===e.id,s=(e=>{let t=(e||"").toLowerCase();return t.includes("breakfast")||t.includes("lunch")||t.includes("dinner")||t.includes("meal")?m.A:t.includes("hotel")||t.includes("check-in")||t.includes("accommodation")?x.A:t.includes("transfer")||t.includes("airport")||t.includes("pickup")||t.includes("drop-off")?h.A:t.includes("ticket")?g.A:b.A})(e.tag);return(0,a.jsxs)("div",{className:"relative pl-10 pb-8 last:pb-0",children:[(0,a.jsx)("div",{className:"absolute left-3 top-2 w-0.5 h-full bg-gray-200"}),(0,a.jsx)("div",{className:"absolute w-6 h-6 bg-white rounded-full left-0 top-0 flex items-center justify-center border-2 border-gray-200",children:(0,a.jsx)("div",{className:"w-3 h-3 bg-blue-500 rounded-full"})}),(0,a.jsx)("div",{className:"ml-2 mt-1",children:(0,a.jsx)("div",{className:"p-4 bg-white border border-gray-200 rounded-lg shadow-sm hover:shadow-md transition-shadow",children:(0,a.jsxs)("div",{className:"flex items-start gap-4",children:[(0,a.jsxs)("div",{className:"relative flex-shrink-0",children:[(0,a.jsx)("img",{src:(0,T.m)(e.image,"w_80,h_80,c_fill"),onError:e=>{e.target.onerror=null,e.target.src=z},alt:e.title,className:"w-20 h-20 rounded-lg object-cover bg-gray-200"}),(0,a.jsx)("div",{className:"absolute bottom-1 right-1 bg-white/90 p-1 rounded-md shadow-sm text-blue-600",children:(0,a.jsx)(s,{size:14})})]}),(0,a.jsxs)("div",{className:"flex-grow",children:[(0,a.jsxs)("div",{className:"flex justify-between items-start cursor-pointer",onClick:()=>en(t?null:e.id),children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("h4",{className:"font-semibold text-gray-800 leading-tight",children:e.title}),(0,a.jsxs)("div",{className:"flex items-center gap-3 mt-1 text-xs text-gray-500",children:[e.start_time&&(0,a.jsxs)("span",{className:"flex items-center gap-1",children:[(0,a.jsx)(S.A,{size:12})," ",e.start_time]}),e.start_time&&e.duration&&(0,a.jsx)("span",{className:"text-gray-300",children:"|"}),e.duration&&(0,a.jsxs)("span",{className:"flex items-center gap-1",children:["Duration: ",e.duration," hrs"]})]})]}),(0,a.jsx)("button",{className:"p-1 text-gray-500 hover:text-gray-800 flex-shrink-0 ml-2",children:t?(0,a.jsx)(f.A,{size:20}):(0,a.jsx)(p.A,{size:20})})]}),t&&(0,a.jsxs)("div",{className:"mt-3 pt-3 border-t border-gray-200/70",children:[(0,a.jsx)("p",{className:"text-sm text-gray-600",children:e.remarks}),e.landmarkarray&&e.landmarkarray.length>0&&(0,a.jsxs)("div",{className:"mt-3",children:[(0,a.jsxs)("p",{className:"text-xs font-semibold text-gray-700 mb-1 flex items-center gap-1",children:[(0,a.jsx)(I.A,{size:12})," Visits:"]}),(0,a.jsx)("div",{className:"flex flex-wrap gap-1.5",children:e.landmarkarray.map(e=>(0,a.jsx)("span",{className:"text-xs bg-gray-100 text-gray-800 px-2 py-0.5 rounded-full border",children:e.title},e.id))})]})]})]})]})})})]},e.id)})})})]}):(0,a.jsxs)("div",{className:"flex flex-col items-center justify-center py-12 text-center",children:[(0,a.jsx)("div",{className:"bg-gray-100 p-6 rounded-full mb-4",children:(0,a.jsx)(j.A,{className:"text-gray-300 w-12 h-12"})}),(0,a.jsx)("h3",{className:"text-lg font-semibold text-gray-900 mb-2",children:"No Itinerary Found"}),(0,a.jsx)("p",{className:"text-gray-500 max-w-md",children:"It looks like your daily schedule hasn't been populated yet. Please check back later or contact your agent."})]})})]})}),ec&&(0,a.jsx)("div",{className:"fixed inset-0 bg-black/70 flex items-center justify-center z-[60] p-4",onClick:()=>!eh&&eu(!1),children:(0,a.jsx)("div",{className:"bg-white rounded-xl shadow-2xl w-full max-w-lg",onClick:e=>e.stopPropagation(),children:(0,a.jsxs)("form",{onSubmit:eY,children:[(0,a.jsxs)("div",{className:"p-4 border-b flex justify-between items-center",children:[(0,a.jsx)("h2",{className:"text-lg font-bold",children:"Share Your Remarks"}),(0,a.jsx)("button",{type:"button",onClick:()=>!eh&&eu(!1),className:"text-gray-500 hover:text-gray-800",children:(0,a.jsx)(C.A,{size:20})})]}),(0,a.jsx)("div",{className:"p-6",children:eb.success?(0,a.jsxs)("div",{className:"text-center py-8",children:[(0,a.jsx)("div",{className:"mx-auto bg-gray-50 w-16 h-16 rounded-full flex items-center justify-center",children:(0,a.jsx)(q.A,{className:"text-gray-600",size:32})}),(0,a.jsx)("h3",{className:"mt-4 text-lg font-semibold text-gray-800",children:"Submitted Successfully!"}),(0,a.jsx)("p",{className:"text-gray-500",children:"Your remarks have been recorded."})]}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("label",{htmlFor:"remarks-text",className:"block text-sm font-medium text-gray-700 mb-2",children:"Your Message"}),(0,a.jsx)("textarea",{id:"remarks-text",rows:"5",className:"w-full p-2 border border-gray-300 rounded-md focus:ring-blue-500 focus:border-blue-500",placeholder:"Enter your feedback or questions here...",value:em,onChange:e=>ex(e.target.value),disabled:eh}),eb.error&&(0,a.jsx)("p",{className:"mt-2 text-sm text-red-600",children:eb.error})]})}),!eb.success&&(0,a.jsxs)("div",{className:"p-4 bg-gray-50 border-t flex justify-end gap-3",children:[(0,a.jsx)("button",{type:"button",onClick:()=>eu(!1),disabled:eh,className:"py-2 px-4 text-sm font-semibold text-gray-700 bg-white border rounded-lg hover:bg-gray-50 disabled:opacity-50",children:"Cancel"}),(0,a.jsxs)("button",{type:"submit",disabled:!em.trim()||eh,className:"py-2 px-4 text-sm font-semibold text-white bg-gray-800 hover:bg-gray-900 rounded-lg flex items-center justify-center gap-2 transition-colors disabled:bg-gray-300 disabled:cursor-not-allowed",children:[eh&&(0,a.jsx)("div",{className:"animate-spin rounded-full h-4 w-4 border-t-2 border-b-2 border-white"}),"Submit"]})]})]})})}),eN&&(0,a.jsx)("div",{className:"fixed inset-0 bg-black/60 flex items-center justify-center z-[70] p-4",onClick:()=>ew(!1),children:(0,a.jsxs)("div",{className:"bg-white rounded-xl shadow-2xl w-full max-w-3xl max-h-[90vh] flex flex-col",onClick:e=>e.stopPropagation(),children:[(0,a.jsxs)("div",{className:"p-4 border-b flex justify-between items-center sticky top-0 bg-white rounded-t-xl",children:[(0,a.jsx)("h2",{className:"text-xl font-bold",children:"Terms & Conditions"}),(0,a.jsx)("button",{onClick:()=>ew(!1),className:"text-gray-500 hover:text-gray-800",children:(0,a.jsx)(C.A,{size:24})})]}),(0,a.jsxs)("div",{className:"p-6 overflow-y-auto",children:[eQ("Guest Terms",Y.quotation.agent_guest_terms),eQ("Cancellation Policy",Y.quotationCancellationPolicy),eQ("Booking Notes",Y.quotationBookingNotes),eQ("Payment Terms",Y.quotationPaymentTerms),eQ("Other Information",Y.quotationFreeText)]}),(0,a.jsx)("div",{className:"p-4 bg-gray-50 border-t flex justify-end sticky bottom-0 rounded-b-xl",children:(0,a.jsx)("button",{onClick:()=>ew(!1),className:"py-2 px-5 text-sm font-semibold text-white bg-gray-800 hover:bg-gray-900 rounded-lg",children:"Close"})})]})})]}),(0,a.jsx)(n.A,{data:eS}),(0,a.jsx)(d.N9,{position:"bottom-right"})]})}}},e=>{e.O(0,[9848,5267,2685,636,6593,8792],()=>e(e.s=30517)),_N_E=e.O()}]);

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.