1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1452],{9071:(e,l,t)=>{t.r(l),t.d(l,{default:()=>g});var n=t(7876),r=t(7447),a=t(4232),i=t(3512),s=t(9241),o=t(1908),u=t(9099),d=t(103),c=t(5835),m=t(6179),f=t(7432);let p={lat:41.38879,lng:2.15899},h={lat:40.41678,lng:-3.70379};function b(e){let l=parseFloat(String(e));return Number.isFinite(l)?l:null}function g(e){let{onCenter:l,zoom:t,defaultZoom:g=12.5,data:v,poiType:x="pin",onClick:y,onHoverChange:k}=e;(0,u.useRouter)();let w=(0,m.U)(),[N,j]=(0,a.useState)(),[S,_]=(0,a.useState)(),{handleFavorites:I}=(0,c.A)(),[F,E,M,A]=(0,d.M)(e=>[e.favorites,e.seen,e.setLocalSeen,e.opened]),[D,U]=(0,a.useState)(),C=(0,a.useMemo)(()=>w===f.om?h:p,[w]),R=(0,a.useCallback)(async()=>{let e=Array.isArray(v)?v:[v];if(e)try{let l=e.flatMap(e=>{let l=b(e.lat),t=b(e.lng);return null===l||null===t?[]:[{...e,position:{lat:l,lng:t}}]});j(l)}catch(e){console.error(e)}},[v]);(0,a.useEffect)(()=>{(0,i.setKey)("AIzaSyD2_Q7ISOnMfU8y7tf4RjN7XmhHUXQ0ZPY"),(0,i.setLanguage)("en"),(0,i.setRegion)("es"),R()},[R]),(0,a.useEffect)(()=>{R()},[R]);let z=(0,a.useMemo)(()=>{var e;let t=b(null==l?void 0:l.lat),n=b(null==l?void 0:l.lng);if(null!==t&&null!==n)return{lat:t,lng:n};let r=null==N?void 0:N.find(e=>Number.isFinite(e.position.lat)&&Number.isFinite(e.position.lng));return null!=(e=null==r?void 0:r.position)?e:C},[C,N,l]);return(0,a.useEffect)(()=>{U(z)},[z]),(0,a.useEffect)(()=>{M(JSON.parse(localStorage.getItem("seen")||"[]"))},[A,M]),(0,n.jsx)(r.c4,{apiKey:"AIzaSyD2_Q7ISOnMfU8y7tf4RjN7XmhHUXQ0ZPY",libraries:["marker"],children:(0,n.jsx)(r.T5,{mapId:"31cf0865596006be",zoom:t&&t,defaultZoom:g,center:D,defaultCenter:C,gestureHandling:"greedy",disableDefaultUI:!0,className:"w-full h-full",onIdle:()=>{D&&U(void 0)},children:N&&(null==N?void 0:N.map(e=>{var t,i;let u=null!=(t=null==F?void 0:F.some(l=>l.id===e.id))&&t,d=null!=(i=null==E?void 0:E.includes(e.id))&&i,c=e.full_address===(null==l?void 0:l.full_address);return(0,n.jsx)(a.Fragment,{children:(0,n.jsxs)(r.J8,{onClick:()=>y&&y(e),zIndex:40*!!c,className:(0,s.A)("price"===x&&(c||u?"rounded-full shadow-md shadow-gray-dark text-[12px] px-4 py-2 relative transition-all !bg-black text-neutral-200 border border-black":d?"rounded-full shadow-md shadow-gray-dark text-[12px] px-4 py-2 relative transition-all bg-gray-main border border-black text-black hover:bg-black hover:text-white":"rounded-full shadow-md shadow-gray-dark text-[12px] px-4 py-2 relative transition-all bg-white text-black border border-black hover:bg-black hover:text-white")),position:e.position,children:["pin"===x&&(0,n.jsx)(o.wd,{className:"h-7 w-7 fill-white"}),"price"===x&&(0,n.jsxs)("div",{onMouseOver:()=>{_(e),null==k||k("department_name"in e?e:null)},onMouseLeave:()=>{_(null),null==k||k(null)},className:"flex items-center gap-2 w-full h-full",children:[(0,n.jsxs)("span",{children:[" ",(null==e?void 0:e.price)?Intl.NumberFormat("de-DE",{style:"currency",currency:"EUR",minimumFractionDigits:0,maximumFractionDigits:0}).format(Number(null==e?void 0:e.price)):"N/A "]}),(c||e.id===(null==S?void 0:S.id)||u)&&(0,n.jsx)("button",{onClick:l=>{var t;l.preventDefault(),I(e.id,"department_name"in e&&null!=(t=e.department_name)?t:void 0)}})]}),"ShLogo"===x&&(0,n.jsx)(n.Fragment,{children:c?(0,n.jsx)(o.rx,{className:"h-14 w-14"}):(0,n.jsx)(o.J7,{className:"h-14 w-14"})})]})},null==e?void 0:e.id)}))})})}}}]);
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.