PageSourceSearch

https://www.lindnerhof.info/_nuxt/Cu-kAIqy2.js

js lindnerhof.info collected 2026-09-25 02:37:31 UTC 7,113 bytes, 1 lines download raw bytes

1import{n as e}from"./DSHKT-ff.js";import{A as a,h as t}from"./C-22kGpz.js";import{Ht as l,g as n,vn as u}from"./DhwZPgxP.js";import{n as r}from"./DLjSuK7d.js";import{t as i}from"./LTqPSYpM.js";import{t as s}from"./BLbCeiSS.js";import{t as o}from"./NgsLWD5i.js";import{n as d,t as v}from"./D7BF7DqM.js";var c="lindnerhof_search",g=u({startDate:"",endDate:"",adults:2,children:[],dogs:0}),h=u(null),f=!1,m=!1,D=u(null),b=u(null),p=u({babyBeds:0,additionalServices:[]}),j=u(!1),y=u(!1),S=u(null),N=u(null),O=u(!1);function k(){return`child-${Date.now()}-${Math.random().toString(36).substr(2,9)}`}function C(){document.cookie=`${c}=; path=/; max-age=0`,g.value={startDate:"",endDate:"",adults:2,children:[],dogs:0,portalToken:void 0,portalName:void 0,originalStartDate:void 0,originalEndDate:void 0}}var I=()=>{const u=s(),I=a(),$=r(),{locale:E,t:A}=e();f||m||(m=!0,requestAnimationFrame(()=>{!function(){if(f)return;f=!0;const e=document.cookie.split(";").find(e=>e.trim().startsWith(`${c}=`));if(e)try{const a=e.split("=").slice(1).join("="),t=JSON.parse(decodeURIComponent(a)),l=v();t.startDate&&v(t.startDate)>
1=l&&(g.value.startDate=t.startDate||"",g.value.endDate=t.endDate||"",g.value.adults=t.adults||2,g.value.children=(t.children||[]).filter(e=>null===e.age||"number"==typeof e.age&&e.age>=0&&e.age<=17).map(e=>({id:e.id||k(),age:e.age})),g.value.dogs=t.dogs||0,g.value.portalToken=t.portalToken||void 0,g.value.portalName=t.portalName||void 0,g.value.originalStartDate=t.originalStartDate||void 0,g.value.originalEndDate=t.originalEndDate||void 0)}catch(a){}}()})),l(g,()=>function(){const{hasConsent:e}=o();if(!e("functional"))return;const a={startDate:g.value.startDate,endDate:g.value.endDate,adults:g.value.adults,children:g.value.children,dogs:g.value.dogs};g.value.portalToken&&(a.portalToken=g.value.portalToken,a.portalName=g.value.portalName,a.originalStartDate=g.value.originalStartDate,a.originalEndDate=g.value.originalEndDate),document.cookie=`${c}=${encodeURIComponent(JSON.stringify(a))}; path=/; SameSite=Lax`}(),{deep:!0});const w=n(()=>g.value.adults+g.value.children.length),x=n(()=>{if(!g.value.startDate||!g.value.endDate)return 0;const e=new Date(g.value.startDate),a=new Date(g.value.endDate).getTime()-e.getTime();return Math.max(0,Math.floor(a/864e5))}),M=n(()=>!N.value||x.value>=N.value.minNights),T=n(()=>g.value.children.some(e=>null!==e.age&&("number"!=typeof e.age||e.age<0||e.age>17||Number.isNaN(e.age)))),B=n(()=>""!==g.value.startDate&&""!==g.value.endDate&&g.value.adults>=1&&x.value>0&&M.value&&!T.value),R=n(()=>D.value&&b.value&&D.value.availableObjects.find(e=>e.id===b.value)||null),F=n(()=>g.value.children.some(e=>null!==e.age&&e.age<3));async function G(){if(g.value.startDate){O.value=!0;try{const e=await t(`${u}/public/min-nights`,{params:{date:g.value.startDate}});N.value=e}catch(e){N.value=null}finally{O.value=!1}}else N.value=null}async function L(){if(!B.value)return S.value=A("booking.enterSearchCriteria"),!1;y.value=!0,S.value=null;try{const e=await t(`${u}/public/search-availability`,{method:"POST",body:{startDate:g.value.startDate,endDate:g.value.endDate,adults:g.value.adults,children:g.value.children.map(e=>({age:e.age})),dogs:g.value.dogs,lang:E.value}});D.value=e,b.value=null,p.value={babyBeds:0,additionalServices:[]};const{trackSearch:a,trackSearchResults:l}=i();return a({startDate:g.value.startDate,endDate:g.value.endDate,adults:g.value.adults,children:g.value.children.length,dogs:g.value.dogs}),l({objectIds:e.availableObjects.map(e=>e.id),totalCount:e.availableObjects.length,preferredObjectId:h.value||void 0}),!0}catch(e){return S.value=e.data?.error||e.data?.message||e.message||A("booking.errors.UNKNOWN"),!1}finally{y.value=!1}}l(()=>g.value.startDate,()=>{g.value.startDate&&G()},{immediate:!0});const P=n(()=>D.value&&h.value&&D.value.availableObjects.find(e=>e.id===h.value)||null),U=n(()=>null!==P.value),q=n(()=>{if(!D.value)return[];if(!h.value)return D.value.availableObjects;const e=D.value.availableObjects.filter(e=>e.id!==h.value);if(P.value){const a=P.value.pricing.total;return e.filter(e=>e.pricing.total>=a)}return e});return{criteria:g,searchResults:D,selectedObjectId:b,extras:p,loading:y,error:S,minNightsInfo:N,minNightsLoading:O,preferredObjectId:h,totalGuests:w,nights:x,isSearchValid:B,meetsMinNights:M,hasInvalidChildAge:T,selectedObject:R,hasInfant:F,preferredObject:P,isPreferredObjectAvailable:U,otherAvailableObjects:q,addChild:function(e=null){g.value.children.push({id:k(),age:e})},removeChild:function(e){g.value.children=g.value.children.filter(a=>a.id!==e)},updateChildAge:function(e,a){const t=g.value.children.find(a=>a.id===e);t&&(t.age=a)},setAdults:function(e){g.value.adults=Math.max(1,Math.min(10,e))},setDogs:function(e){g.value.dogs=Math.max(0,Math.min(5,e))},fetchMinNights:G,searchAvailability:L,searchAndNavigate:async function(){if(await L()){const e={startDate:g.value.startDate,endDate:g.value.endDate,adults:String(g.value.adults)};g.value.children.length>0&&(e.children=g.value.children.map(e=>e.age??"").join(",")),g.value.dogs>0&&(e.dogs=String(g.value.dogs)),h.value&&(e.preferredObject=h.value),I.push({path:$("/buchen/ergebnisse"),query:e})}},selectObject:function(e){const a=D.value?.availableObjects.find(a=>a.slug===e);if(a){b.value=a.id;const{trackObjectSelected:t}=i();t(a.id,e,a.id===h.value),F.value&&a.availability.babyBedsAvailable>0&&(p.value.babyBeds=1),j.value=!0,I.push({path:$(`/ferienwohnungen/${e}`)})}},setExtras:function(e){p.value={...p.value,...e}},setPreferredObject:function(e){h.value=e},navigatedFromSearch:j,clearNavigationSource:function(){j.value=!1},initFromQuery:function(e){e.startDate&&(g.value.startDate=e.startDate),e.endDate&&(g.value.endDate=e.endDate),e.adults&&(g.value.adults=parseInt(e.adults,10)||2),e.children&&(g.value.children=e.children.split(",").map(e=>{const a=parseInt(e,10);return{id:k(),age:""===e||isNaN(a)?null:a}})),e.dogs&&(g.value.dogs=parseInt(e.dogs,10)||0),e.preferredObject?h.value=e.preferredObject:e.object?h.value=e.object:h.value=null},reset:function(){g.value={startDate:"",endDate:"",adults:2,children:[],dogs:0}
1,D.value=null,b.value=null,p.value={babyBeds:0,additionalServices:[]},S.value=null},hasCachedResults:function(){if(!D.value)return!1;const e=D.value.searchCriteria;return e.startDate===g.value.startDate&&e.endDate===g.value.endDate&&e.adults===g.value.adults&&e.dogs===g.value.dogs&&e.children.length===g.value.children.length},formatPrice:function(e){return new Intl.NumberFormat({de:"de-DE",nl:"nl-NL",en:"en-GB"}[E.value]||"de-DE",{style:"currency",currency:"EUR"}).format(e)},formatDate:function(e,a){if(!e)return"";const t=a||{de:"de-DE",nl:"nl-NL",en:"en-GB"}[E.value]||"de-DE";return d(e,t,{weekday:"short",day:"numeric",month:"short",year:"numeric"})},getGuestSummary:function(e,a=!1){const t=[],l=a?"Short":"";return t.push(e(`booking.adultsCount${l}`,{n:g.value.adults})),g.value.children.length>0&&t.push(e(`booking.childrenCount${l}`,{n:g.value.children.length})),g.value.dogs>0&&t.push(e(`booking.dogsCount${l}`,{n:g.value.dogs})),t.join(", ")},clearSearchCookie:C}};export{I as t};

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.