PageSourceSearch

https://www.spain-sothebysrealty.com/_next/static/chunks/1316.3164eb683c63aa90.js

js spain-sothebysrealty.com collected 2026-10-05 18:34:00 UTC 11,812 bytes, 1 lines download raw bytes

1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1316],{71316:function(e,t,n){"use strict";n.r(t);var r=n(85893),i=n(41664),a=n.n(i),s=n(67294),l=n(22636),o=n(27844),u=n(25675),d=n.n(u),c=n(45032),m=n(2261);n(15663),n(1867);var p=n(16887),v=n(11163);t.default=e=>{var t;let{property:n}=e,{locale:i}=(0,v.useRouter)(),{currentUser:u,toggleLoginPopup:f}=(0,l.aF)(),h=(0,s.useRef)(null),[x,y]=(0,s.useState)(null),[g,w]=(0,s.useState)(!1),{saveFavouriteProperty:b,isLoading:j,isError:U}=(0,o.Au)(),{deleteFavouriteProperty:_,isLoading:I,isError:N}=(0,o.vL)(),{t:E}=(0,p.$G)();(0,s.useEffect)(()=>{n&&y(n)},[n]),(0,s.useEffect)(()=>{if(u&&(null==n?void 0:n.id)){var e,t;w(null!==(t=null==u?void 0:null===(e=u.saved_properties)||void 0===e?void 0:e.some(e=>(null==e?void 0:e.id)===n.id))&&void 0!==t&&t)}},[u]);let S=async()=>{if(!j&&!I)try{g?await _(u.email,n.id)&&w(!1):await b(u.email,n.id)&&w(!g)}catch(e){console.error("Failed to toggle favorite property:",e)}};return(0,r.jsx)("div",{className:"wide-container max-[768px]:ml-0 max-[768px]:mr-0 md:mx-auto mb-[30px] md:mb-[50px]",children:x&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(m.tq,{modules:[c.oM],slidesPerView:1,onSwiper:e=>h.current=e,ref:h,loop:!0,virtual:!0,children:null==x?void 0:null===(t=x.mediaSeo)||void 0===t?void 0:t.map((e,t)=>{var s;return(0,r.jsx)(m.o5,{virtualIndex:t,children:(0,r.jsxs)("div",{className:"relative !block !mx-0 aspect-[1624/657] max-[768px]:aspect-[4/3]",children:[(0,r.jsx)(a(),{href:"/property/".concat(n.slugI18n[i]),"area-label":"Property ".concat(n.idField),className:"relative block w-full h-full",children:(0,r.jsx)(d(),{alt:null!==(s=e.alt)&&void 0!==s?s:"Featured Property Image",src:decodeURIComponent(e.href),fill:!0,style:{objectFit:"cover"},loading:"lazy",className:"w-full h-full",sizes:"(max-width: 1024px) 100vw, (min-width: 769px) 1624px"})}),(0,r.jsx)("button",{className:"absolute top-1.5 md:top-4 right-1.5 md:right-4 bg-transparent text-white hover:text-red-600 transition-colors duration-300",onClick:(null==u?void 0:u.email)?S:f,children:(null==u?void 0:u.email)&&g?(0,r.jsx)("img",{src:"/assets/icons/filled_star.svg",alt:"Favorite Property",width:"20",height:"19",className:"block absolute z-99 top-0 right-0 cursor-pointer z-10"}):(0,r.jsx)("img",{src:"/assets/icons/unfilled_star.svg",alt:"Not Favorite Property",width:"20",height:"19",className:"block absolute top-0 right-0 cursor-pointer z-10"})})]})},t)})}),(0,r.jsxs)("div",{className:"flex items-center justify-around",children:[(0,r.jsx)("div",{className:"flex items-center justify-center w-[32px] md:w-[90px] hover:scale-150",children:(0,r.jsx)("img",{src:"/assets/icons/slider_prev_black.svg",alt:"Previous Slide",width:"11",height:"20",className:"self-center cursor-pointer mt-4 md:mt-1",onClick:()=>{h.current.slidePrev()}})}),(0,r.jsxs)("div",{className:"container flex justify-around md:justify-between flex-col md:flex-row item-center no-margin font-normal",children:[(0,r.jsxs)("div",{className:"self-center md:self-start text-center md:text-left",children:[(0,r.jsx)("p",{className:"text-[13px] md:text-[15px] pt-2 md:pt-3.5 font-benton tracking-[0.38px] font-normal mb-0",children:E("featured-property")}),(0,r.jsx)("h3",{className:"mt-2 leading-[28px] md:leading-[40px] mb-0 px-5 md:px-0",children:n.listing_title[i]})]}),(0,r.jsx)("div",{className:"mt-3.5 md:mt-0 hidden md:flex item-center justify-center md:justify-end md:max-w-[333px] md:w-full",children:(0,r.jsx)(a(),{href:"/property/".concat(n.slugI18n[i]),"area-label":"Property ".concat(n.idField),className:"button self-center",children:E("view-property")})})]}),(0,r.jsx)("div",{className:"flex items-center justify-center w-[32px] md:w-[90px] hover:scale-150",children:(0,r.jsx)("img",{src:"/assets/icons/slider_next_black.svg",alt:"Next Slide",width:"11",height:"20",className:"self-center cursor-pointer mt-4 md:mt-1",onClick:()=>{h.current.slideNext()}})})]}),(0,r.jsx)("div",{className:"container md:hidden",children:(0,r.jsx)("div",{className:"mt-3.5 md:mt-0 flex item-center justify-center md:justify-end md:max-w-[333px]",children:(0,r.jsx)(a(),{href:"/property/".concat(n.slugI18n[i]),"area-label":"Property ".concat(n.idField),className:"button self-center w-full text-center",children:E("view-property")})})})]})})}},27844:function(e,t,n){"use strict";n.d(t,{Au:function(){return u},vL:function(){return d}});var r=n(37340),i=n(68806),a=n(50319);function s(){let e=(0,r._)(["\n  mutation UpdateUser($where: UserWhereUniqueInput!, $data: UserUpdateInput!) {\n    updateUser(where: $where, data: $data) {\n      name\n      email\n    }\n  }\n"]);return s=function(){return e},e}function l(){let e=(0,r._)(["\n    mutation UpdateUser(\n      $updateUserWhere: UserWhereUniqueInput!\n      $data: UserUpdateInput!\n    ) {\n      updateUser(where: $updateUserWhere, data: $data) {\n        id\n      }\n    }\n  "]);return l=function(){return e},e}function o(){let e=(0,r._)(["\n    mutation UpdateUser(\n      $updateUserWhere: UserWhereUniqueInput!\n      $data: UserUpdateInput!\n    ) {\n      updateUser(where: $updateUserWhere, data: $data) {\n        id\n      }\n    }\n  "]);return o=function(){return e},e}(0,i.Ps)(s());let u=()=>{let e=(0,i.Ps)(l()),[t,{loading:n,error:r,data:s}]=(0,a.D)(e,{skip:!0});return{saveFavouriteProperty:async(e,n)=>(await t({variables:{updateUserWhere:{email:e},data:{saved_properties:{connect:[{id:n}]}}}})).data.updateUser.id,isLoading:n,isError:r,data:s?s.updateUser.id:null}},d=()=>{let e=(0,i.Ps)(o()),[t,{loading:n,error:r,data:s}]=(0,a.D)(e,{skip:!0});return{deleteFavouriteProperty:async(e,n)=>(await t({variables:{updateUserWhere:{email:e},data:{saved_properties:{disconnect:[{id:n}]}}}})).data.updateUser.id,isLoading:n,isError:r,data:s?s.updateUser.id:null}}},22636:function(e,t,n){"use strict";n.d(t,{SE:function(){return w},aF:function(){return x},dr:function(){return g}});var r=n(37340),i=n(85893),a=n(67294),s=n(68806),l=n(6812),o=n(66252),u=n(54841),d=n(7848),c=n(50941),m=n(16887);function p(){let e=(0,r._)(["\n  query CurrentUser {\n    authenticatedItem {\n      ... on User {\n        id\n        name\n        email\n        role\n        postsCount\n        mediaPrsCount\n        saved_propertiesCount\n        saved_searches\n        createdAt\n        interested_locations\n        dimensions\n        newsletters {\n          name\n          id\n        }\n        currency {\n          iso_code\n          rate\n        }\n        saved_properties {\n          id\n          slugI18n\n          address\n          bedrooms\n          city_propertyfinder\n          community_propertyfinder\n          currency_iso_code\n          description\n          fullbathrooms\n          idField\n          listing_id\n          listing_title\n          listingprices\n          listingtype\n          postalcode\n          property\n          property_propertyfinder\n          propertytype\n          reference_number\n          state\n          status\n          sub_community_propertyfinder\n          tags {\n            name\n          }\n          totalarea\n          media\n          mediaSeo\n        }\n      }\n    }\n  }\n"]);return p=function(){return e},e}let v=(0,a.createContext)(),f=(0,s.Ps)(p()),h=async e=>{let{data:t}=await c.Z.query({query:e});return t},x=e=>{let{data:t,error:n,isLoading:r}=(0,d.ZP)(f,h,{fallbackData:e});return{data:t,isLoading:r,isError:n}},y=()=>{let{setCurrentUser:e,setSelectedCurrencyOption:t,setSelectedDimensionOption:n}=(0,a.useContext)(v),{t:r}=(0,m.$G)(),{loading:i,error:s,data:o}=(0,l.aM)(f,{fetchPolicy:"network-only"});return(0,a.useEffect)(()=>
1{if(!i&&!s&&(null==o?void 0:o.authenticatedItem)){var a,l,u,d,c,m;e(o.authenticatedItem),t({value:null!==(d=null===(a=o.authenticatedItem.currency)||void 0===a?void 0:a.iso_code)&&void 0!==d?d:"EUR",label:null!==(c=null===(l=o.authenticatedItem.currency)||void 0===l?void 0:l.iso_code)&&void 0!==c?c:"EUR",rate:null!==(m=null===(u=o.authenticatedItem.currency)||void 0===u?void 0:u.rate)&&void 0!==m?m:1}),n({value:o.authenticatedItem.dimensions,label:"sqm"===o.authenticatedItem.dimensions?r("SQM"):r("SQFT")})}},[o,i,s,e,t,n,r]),null},g=e=>{let{children:t,initialSettings:n}=e,{t:r}=(0,m.$G)(),s=(0,o.x)(),[l,d]=(0,a.useState)(null),[c,p]=(0,a.useState)([]),[h,x]=(0,a.useState)(null),[g,w]=(0,a.useState)(!1),[b,j]=(0,a.useState)(""),[U,_]=(0,a.useState)(null),I=(0,a.useMemo)(()=>[{value:"sqft",label:r("SQFT")},{value:"sqm",label:r("SQM")}],[r]),[N,E]=(0,a.useState)(null);(0,a.useEffect)(()=>{var e;let t=(null!==(e=null==n?void 0:n.currencies)&&void 0!==e?e:[]).map(e=>{var t;return{value:e.iso_code,label:e.iso_code,rate:null!==(t=e.rate)&&void 0!==t?t:1}});p(t);let r=t[0];_(r),x(r)},[n]),(0,a.useEffect)(()=>{if(!l&&n){let e=(0,u.f)("selectedCurrencyOption"),t=(0,u.f)("selectedDimensionOption");x(e||U),E(t||I[1])}},[l,n,U,I]),(0,a.useEffect)(()=>{!l&&(h&&(0,u.m)("selectedCurrencyOption",h),N&&(0,u.m)("selectedDimensionOption",N))},[h,N,l]);let S=()=>{d(null),s.resetStore(),localStorage.removeItem("selectedCurrencyOption"),localStorage.removeItem("selectedDimensionOption")},C=()=>w(e=>!e),k=()=>w(!1),P=e=>j(e),F=()=>b,$=()=>{s.refetchQueries({include:[f]})},M=(0,a.useMemo)(()=>({currencyOptions:c,dimensionOptions:I,selectedCurrencyOption:h,selectedDimensionOption:N,currentUser:l,setCurrentUser:d,setSelectedCurrencyOption:x,setSelectedDimensionOption:E,logoutCurrentUser:S,refreshUser:$,initialSettings:n,isLoginPopupOpen:g,toggleLoginPopup:C,storeRedirectURL:P,getRedirectURL:F,closeLoginPopup:k}),[c,I,h,N,l,d,x,E,S,$,n,g,C,P,F,k]);return(0,i.jsxs)(v.Provider,{value:M,children:[(0,i.jsx)(y,{}),t]})},w=()=>{let e=(0,a.useContext)(v);if(void 0===e)throw Error("useUserContext must be used within a UserProvider");return e}},1867:function(){},770:function(e,t,n){"use strict";n.d(t,{L:function(){return i}});var r=n(73914),i=n(30320).Nq?r.useLayoutEffect:r.useEffect},50319:function(e,t,n){"use strict";n.d(t,{D:function(){return c}});var r=n(97582),i=n(73914),a=n(14012),s=n(30020),l=n(14692),o=n(30990),u=n(66252),d=n(770);function c(e,t){var n=(0,u.x)(null==t?void 0:t.client);(0,l.Vp)(e,l.n_.Mutation);var c=i.useState({called:!1,loading:!1,client:n}),m=c[0],p=c[1],v=i.useRef({result:m,mutationId:0,isMounted:!0,client:n,mutation:e,options:t});(0,d.L)(function(){Object.assign(v.current,{client:n,options:t,mutation:e})});var f=i.useCallback(function(e){void 0===e&&(e={});var t=v.current,n=t.options,i=t.mutation,l=(0,r.pi)((0,r.pi)({},n),{mutation:i}),u=e.client||v.current.client;v.current.result.loading||l.ignoreResults||!v.current.isMounted||p(v.current.result={loading:!0,error:void 0,data:void 0,called:!0,client:u});var d=++v.current.mutationId,c=(0,a.J)(l,e);return u.mutate(c).then(function(t){var n,r,i=t.data,a=t.errors,l=a&&a.length>0?new o.cA({graphQLErrors:a}):void 0,m=e.onError||(null===(n=v.current.options)||void 0===n?void 0:n.onError);if(l&&m&&m(l,c),d===v.current.mutationId&&!c.ignoreResults){var f={called:!0,loading:!1,data:i,error:l,client:u};v.current.isMounted&&!(0,s.D)(v.current.result,f)&&p(v.current.result=f)}var h=e.onCompleted||(null===(r=v.current.options)||void 0===r?void 0:r.onCompleted);return l||null==h||h(t.data,c),t},function(t){if(d===v.current.mutationId&&v.current.isMounted){var n,r={loading:!1,error:t,data:void 0,called:!0,client:u};(0,s.D)(v.current.result,r)||p(v.current.result=r)}var i=e.onError||(null===(n=v.current.options)||void 0===n?void 0:n.onError);if(i)return i(t,c),{data:void 0,errors:t};throw t})},[]),h=i.useCallback(function(){if(v.current.isMounted){var e={called:!1,loading:!1,client:v.current.client};Object.assign(v.current,{mutationId:0,result:e}),p(e)}},[]);return i.useEffect(function(){var e=v.current;return e.isMounted=!0,function(){e.isMounted=!1}},[]),[f,(0,r.pi)({reset:h},m)]}}}]);

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.