1import{T as Y}from"./DaBUYpyD.js";import{_ as J}from"./D4nYWWrx.js";import{u as K,G as Q}from"./DDeH52T3.js";import{_ as y,y as c,a8 as X,I as Z,x as P,z as tt,E as et,A,C as st,r as M,e as at,c as l,o,b as i,w as T,a as e,d as I,t as d,f as it,g,H as m,W as nt,h as D,O as ot,J as rt,F as L,G as j}from"./C263r544.js";import{s as R}from"./BBctDtUA.js";import{_ as lt}from"./BIl2_igO.js";import{_ as dt}from"./DN8mI0qE.js";import"./R8wgPKn3.js";import"./vZItlZjI.js";import"./D9emHrrr.js";import"./BUCoyG9u.js";const ct={class:"m-3 canaro-font"},ut={class:"mb-5"},mt={class:"font-semibold text-2xl mb-4 text-900"},_t={class:"grid"},ht={class:"col-12"},vt={class:"flex flex-column canaro-font text-900"},pt={class:"my-0 mb-3 line-height-3 font-semi-bold text-900",style:{"min-height":"60px"}},ft={class:"flex align-items-baseline mb-2"},gt={class:""},yt={class:"flex align-items-baseline mb-2"},wt={class:""},bt={class:"flex align-items-baseline mb-2"},xt={class:""},kt={class:"flex align-items-baseline mb-2"},Ct={class:""},$t={class:"flex align-items-baseline mb-2"},St={class:""},Nt={class:"flex align-items-start mb-2",style:{"min-width":"0"}},Tt={key:0,class:"destinations-value"},It={key:1,class:"destinations-value"},Wt={class:"flex align-items-baseline mb-2"},Ut={class:""},Bt={class:"flex align-items-baseline mb-3"},Vt={class:""},Dt={class:"flex justify-content-center pt-2"},Rt={__name:"WishlistContent",emits:["message"],setup(w,{emit:n}){const u=n,$=Z(),v=c(!0),_=c([]),f=c(null),W=c(0),S=X(),E=K(),U=c(3),b=c($.public.BACKEND_URL),N=c(!1),{wishlistTourIds:O}=P(S),B=()=>{N.value=window.innerWidth<=768};async function V(s){return s==null?(console.error(`Invalid city code: ${s}`),"Unknown City"):Q.find(h=>h.t_city==s)?.city||"Unknown City"}const z=c([{breakpoint:"1400px",numVisible:4,numScroll:1},{breakpoint:"1199px",numVisible:3,numScroll:1},{breakpoint:"767px",numVisible:1,numScroll:1},{breakpoint:"575px",numVisible:1,numScroll:1}]);async function G(s){try{const t=await fetch(`${b.value}/api/tour/${s}`);if(!t.ok)throw new Error(`Failed to fetch tour data for tour_id ${s}`);return await t.json()}catch(t){return console.error("Error fetching tour details:",t),null}}async function F(){try{const s=localStorage.getItem("user_id"),t=W.value?`${b.value}/api/wishlists?id=${s}&count=false`:`${b.value}/api/wishlists`,k=await(await fetch(t)).json(),p=k.data;if(p.length==1?U.value=1:p.length==2&&(U.value=2),p.length>0){for(const r of p)if(r.tour_id&&!r.tour_data&&(r.tour=await G(r.tour_id)),r.tour_data){const a=r.tour_data||{};a.start_city_name=await V(a.start_city?.location_id),a.end_city_name=await V(a.end_city?.location_id),r.isInWishlist=!0}else console.warn("Wishlist item is missing 'tour' data and cannot fetch details:",r);_.value=k.data,S.updateWishCountNumber(_.value.length)}else setTimeout(()=>{u("message",!0),v.value=!1},1e3)}catch(s){console.error("Error fetching wishlist:",s)}finally{setTimeout(()=>{v.value=!1},1e3)}}tt(O,(s,t)=>{t&&s.length<t.length&&_.value.length>0&&(_.value=_.value.filter(h=>s.includes(String(h.tour_data?.tour_id))),_.value.length===0&&u("message",!0))},{deep:!0});const x=et(()=>_.value.map(s=>({...s,tour:{...s.tour_data,data:{...s.tour_data,start_city_name:s.tour_data.start_city_name||"Unknown City",end_city_name:s.tour_data.end_city_name||"Unknown City"}}}))),q=s=>{const t={path:"/tour",query:{tourId:s.tour_id,adultsCount:2,childrenCount:0}},h=new URLSearchParams(t.query).toString();window.open(`${t.path}?${h}`,"_self")},H=async()=>{const s=await S.user_travelerId({id:f.value},b.value);s.success&&(W.value=s.data)};return A(async()=>{f.value=localStorage.getItem("user_id"),await H(),st(F),E.validateUserNotifications(f.value),B(),window.addEventListener("resize",B)}),(s,t)=>{const h=M("ConfirmDialog"),k=Y,p=J,r=at("tooltip");return o(),l(L,null,[i(h,{dismissableMask:!0}),i(m(R),{class:"wishlist-content canaro-font"},{content:T(()=>[e("div",ct,[e("div",ut,[e("h2",mt,[t[0]||(t[0]=I("My ",-1)),t[1]||(t[1]=e("span",{class:"text-green-vibe"},"Wishlist",-1)),I(" ("+d(x.value.length)+")",1)]),t[10]||(t[10]=e("p",null,"Your saved trips are kept here so you can compare and book later.",-1)),i(lt,{loading:v.value,"tip-delay":5e3,centered:""},null,8,["loading"]),e("div",_t,[e("div",ht,[x.value.length>0?(o(),it(m(nt),{key:0,value:x.value,numVisible:Math.min(3,x.value.length),numScroll:1,responsiveOptions:z.value,showNavigators:!N.value,circular:!0},{item:T(a=>[i(m(R),{class:"wishlist-item-card my-3"},{content:T(()=>[e("div",vt,[e("div",{class:"wishlist-image mb-4 border-round",style:ot({height:N.value?"11rem":"15rem",backgroundImage:`url(${a.data.tour.data.images&&a.data.tour.data.images.length?a.data.tour.data.images[0]:"default.jpg"})`,backgroundPosition:"center",backgroundSize:"cover"})},[i(k,{tourId:a.data.tour.data.tour_id,variant:"on-image",confirmOnRemove:!0},null,8,["tourId"])],4),D((o(),l("h3",pt,[I(d(a.data.tour.data.tour_name||"Unknown Tour"),1)])),[[r,a.data.tour.data.tour_name||"Unknown Tour",void 0,{top:!0}]]),e("div",ft,[t[2]||(t[2]=e("span",{class:"font-semibold text-900 mr-2"},"Duration:",-1)),e("span",gt,d(a.data.tour.data.tour_length_days||"N/A")+" days",1)]),e("div",yt,[t[3]||(t[3]=e("span",{class:"font-semibold text-900 mr-2"},"Rating:",-1)),e("span",wt,[i(p,{ratings:a.data.tour.data.ratings,reviewsCount:a.data.tour.data.reviews_count},null,8,["ratings","reviewsCount"])])]),e("div",bt,[t[4]||(t[4]=e("span",{class:"font-semibold text-900 mr-2"},"Age Range:",-1)),e("span",xt,d(a.data.tour.data.age_range_formatted+" years"||"N/A"),1)]),e("div",kt,[t[5]||(t[5]=e("span",{class:"font-semibold text-900 mr-2"},"Start City:",-1)),e("span",Ct,d(a.data.tour.data.start_city_name||"Unknown City"),1)]),e("div",$t,[t[6]||(t[6]=e("span",{class:"font-semibold text-900 mr-2"},"End City:",-1)),e("span",St,d(a.data.tour.data.end_city_name||"Unknown City"),1)]),D((o(),l("div",Nt,[t[7]||(t[7]=e("span",{class:"font-semibold text-900 mr-2",style:{"flex-shrink":"0"}},"Destinations:",-1)),a.data.tour.data.destinations.cities.length===1?(o(),l("span",Tt,d(a.data.tour.data.destinations.cities[0].city_name),1)):(o(),l("span",It,d(a.data.tour.data.destinations.cities.map(C=>C.city_name).join(", ")),1))])),[[r,a.data.tour.data.destinations.cities.map(C=>
1C.city_name).join(", ")]]),e("div",Wt,[t[8]||(t[8]=e("span",{class:"font-semibold text-900 mr-2"},"Max Group Size:",-1)),e("span",Ut,d(a.data.tour.data.max_group_size||"N/A"),1)]),e("div",Bt,[t[9]||(t[9]=e("span",{class:"font-semibold text-900 mr-2"},"Guide Type:",-1)),e("span",Vt,d(a.data.tour.data.guiding_method.type_name),1)]),e("div",Dt,[i(m(rt),{onClick:C=>q(a.data.tour.data),label:"View Trip",class:"w-full btn-custom-green",rounded:""},null,8,["onClick"])])])]),_:2},1024)]),_:1},8,["value","numVisible","responsiveOptions","showNavigators"])):g("",!0)])])])])]),_:1})],64)}}},At=y(Rt,[["__scopeId","data-v-2d4bcdac"]]),Mt={},Lt={class:"mx-3"};function jt(w,n){const u=dt;return o(),l("div",Lt,[i(u,{pages:[{label:"Wishlist",route:"/wishlist"}]})])}const Et=y(Mt,[["render",jt]]),Ot=""+new URL("Navigator.C4xz5BnN.png",import.meta.url).href,zt={};function Gt(w,n){return n[0]||(n[0]=j('<div style="display:inline-flex;gap:8px;"><h1>My</h1><h1 style="color:#82CF45;font-style:italic;">Wishlist</h1></div><div style="border:outset;display:flex;align-items:center;padding:2%;width:100%;"><div style="width:20%;display:flex;justify-content:center;"><img src="'+Ot+'" style="width:40%;height:auto;"></div><div style="width:80%;"><h1>Nothing saved yet!</h1><p>You haven't saved any adventures yet! Search for an adventure and use the heart icon to add adventures to your wishlists</p></div></div>',2))}const Ft=y(zt,[["render",Gt]]),qt=""+new URL("Nouser.CNiRA8Im.png",import.meta.url).href,Ht={};function Yt(w,n){return n[0]||(n[0]=j('<div style="display:inline-flex;gap:8px;"><h1>My</h1><h1 style="color:#82CF45;font-style:italic;">Wishlist</h1></div><div style="border:1px outset #B3B3B9;border-radius:16px;display:flex;align-items:center;padding:2%;width:100%;"><div style="width:20%;display:flex;justify-content:center;"><img src="'+qt+'" style="width:40%;height:auto;"></div><div style="width:80%;"><h2>Don't lose your saved adventures!</h2><p>To access your wish-listed adventures, please log in or create an account. This will allow you to see price changes and view your saved adventures!</p></div></div>',2))}const Jt=y(Ht,[["render",Yt]]),Kt={class:"overflow-hidden mb-8 main-spacing",style:{"max-width":"1240px"}},Qt={key:0,class:"grid"},Xt={class:"col-12"},Zt={key:0},Pt={key:1},te={key:1},ee={__name:"index",setup(w){const n=c(!1),u=c(null);function $(v){console.log("valor que recibio",v),n.value=v}return A(async()=>{u.value=localStorage.getItem("user_id")}),(v,_)=>{const f=M("Toast");return o(),l(L,null,[i(f),e("div",Kt,[m(u)?(o(),l("div",Qt,[e("div",Xt,[m(n)?g("",!0):(o(),l("div",Zt,[i(Et),i(At,{onMessage:$})])),m(n)&&m(u)?(o(),l("div",Pt,[i(Ft)])):g("",!0)])])):g("",!0),m(u)?g("",!0):(o(),l("div",te,[i(Jt)]))])],64)}}},_e=y(ee,[["__scopeId","data-v-4a66b7c5"]]);export{_e 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.