1!function(){try{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]="12ac3584-89d8-4614-a2cd-064f76d4a6d1",e._sentryDebugIdIdentifier="sentry-dbid-12ac3584-89d8-4614-a2cd-064f76d4a6d1")}catch(e){}}(),(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7538],{19887:function(e,t,r){"use strict";r.d(t,{Z:function(){return a}});var l=r(91373);let a=(0,l.Z)("map",[["path",{d:"M14.106 5.553a2 2 0 0 0 1.788 0l3.659-1.83A1 1 0 0 1 21 4.619v12.764a1 1 0 0 1-.553.894l-4.553 2.277a2 2 0 0 1-1.788 0l-4.212-2.106a2 2 0 0 0-1.788 0l-3.659 1.83A1 1 0 0 1 3 19.381V6.618a1 1 0 0 1 .553-.894l4.553-2.277a2 2 0 0 1 1.788 0z",key:"169xi5"}],["path",{d:"M15 5.764v15",key:"1pn4in"}],["path",{d:"M9 3.236v15",key:"1uimfh"}]])},68306:function(e,t,r){(window.__NEXT_P=window.__NEXT_P||[]).push(["/neighborhoods",function(){return r(8021)}])},14530:function(e,t,r){"use strict";r.d(t,{z:function(){return o}});var l=r(85893),a=r(67294);let s={primary:"bg-primary-600 text-white hover:bg-primary-700 focus:ring-primary-500",secondary:"border border-neutral-300 bg-[#fffdf9] text-neutral-900 hover:border-neutral-500 hover:bg-neutral-50 focus:ring-neutral-300",outline:"border border-neutral-900 text-neutral-900 hover:bg-neutral-900 hover:text-white focus:ring-neutral-900",ghost:"bg-transparent text-neutral-700 hover:bg-neutral-100 focus:ring-neutral-300",danger:"bg-red-600 text-white hover:bg-red-700 focus:ring-red-500"},n={sm:"min-h-10 text-sm px-4 py-2 rounded-sm",md:"min-h-12 px-6 py-3 rounded-sm",lg:"min-h-14 text-lg px-8 py-4 rounded-sm"};function Spinner(){return(0,l.jsxs)("svg",{className:"animate-spin h-4 w-4 shrink-0",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","aria-hidden":"true",children:[(0,l.jsx)("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),(0,l.jsx)("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"})]})}let o=(0,a.forwardRef)((e,t)=>{let{variant:r="primary",size:a="md",loading:o=!1,icon:i,iconPosition:d="left",disabled:c,className:u="",children:m,...h}=e,x=c||o,f=["inline-flex items-center justify-center gap-2 font-semibold transition-colors duration-200 focus:outline-none focus:ring-2 focus:ring-offset-2",s[r],n[a],x?"cursor-not-allowed opacity-60":"",u].filter(
1Boolean).join(" "),p="left"===d;return(0,l.jsxs)("button",{ref:t,disabled:x,className:f,...h,children:[o&&p&&(0,l.jsx)(Spinner,{}),!o&&i&&p&&(0,l.jsx)("span",{className:"inline-flex shrink-0",children:i}),m,o&&!p&&(0,l.jsx)(Spinner,{}),!o&&i&&!p&&(0,l.jsx)("span",{className:"inline-flex shrink-0",children:i}),o&&!m&&!i&&null]})});o.displayName="Button"},80428:function(e,t,r){"use strict";r.d(t,{u:function(){return EmptyState}});var l=r(85893);function EmptyState(e){let{icon:t,title:r,description:a,action:s,className:n}=e;return(0,l.jsxs)("div",{className:["text-center py-12 px-6 bg-white rounded-xl border border-neutral-200",n].filter(Boolean).join(" "),children:[t&&(0,l.jsx)("div",{className:"mx-auto mb-4 inline-flex h-12 w-12 items-center justify-center rounded-full bg-neutral-100 text-neutral-500",children:(0,l.jsx)(t,{className:"h-6 w-6","aria-hidden":!0})}),(0,l.jsx)("h3",{className:"text-lg font-semibold text-neutral-900",children:r}),a&&(0,l.jsx)("p",{className:"mt-1 text-sm text-neutral-600",children:a}),s&&(0,l.jsx)("div",{className:"mt-6 flex justify-center",children:s})]})}},78024:function(e,t,r){"use strict";r.d(t,{I:function(){return n},K:function(){return o}});var l=r(85893),a=r(67294);let s={sm:"px-3 py-2 text-sm rounded-sm",md:"px-4 py-3 rounded-sm",lg:"px-5 py-4 text-lg rounded-sm"};function fieldClasses(e,t,r){return["w-full border bg-[#fffdf9] focus:outline-none focus:ring-2 focus:border-transparent transition-colors duration-200",s[e],t?"border-red-500 focus:ring-red-500":"border-neutral-300 focus:ring-primary-500",r].filter(Boolean).join(" ")}let n=(0,a.forwardRef)((e,t)=>{let{label:r,error:s,helperText:n,inputSize:o="md",required:i,className:d,id:c,...u}=e,m=(0,a.useId)(),h=null!=c?c:m,x="".concat(h,"-error"),f="".concat(h,"-helper"),p=[s?x:null,n?f:null].filter(Boolean).join(" ")||void 0;return(0,l.jsxs)("div",{children:[r&&(0,l.jsxs)("label",{htmlFor:h,className:"block text-sm font-medium text-neutral-700 mb-1",children:[r,i&&(0,l.jsx)("span",{className:"text-red-500 ml-0.5",children:"*"})]}),(0,l.jsx)("input",{ref:t,id:h,required:i,"aria-invalid":!!s||void 0,"aria-describedby":p,className:fieldClasses(o,!!s,d),...u}),s&&(0,l.jsx)("p",{id:x,className:"mt-1 text-sm text-red-500",children:s}),n&&!s&&(0,l.jsx)("p",{id:f,className:"mt-1 text-xs text-neutral-500",children:n})]})});n.displayName="Input";let o=(0,a.forwardRef)((e,t)=>{let{label:r,error:s,helperText:n,inputSize:o="md",required:i,className:d,id:c,...u}=e,m=(0,a.useId)(),h=null!=c?c:m,x="".concat(h,"-error"),f="".concat(h,"-helper"),p=[s?x:null,n?f:null].filter(Boolean).join(" ")||void 0;return(0,l.jsxs)("div",{children:[r&&(0,l.jsxs)("label",{htmlFor:h,className:"block text-sm font-medium text-neutral-700 mb-1",children:[r,i&&(0,l.jsx)("span",{className:"text-red-500 ml-0.5",children:"*"})]}),(0,l.jsx)("textarea",{ref:t,id:h,required:i,"aria-invalid":!!s||void 0,"aria-describedby":p,className:fieldClasses(o,!!s,d),...u}),s&&(0,l.jsx)("p",{id:x,className:"mt-1 text-sm text-red-500",children:s}),n&&!s&&(0,l.jsx)("p",{id:f,className:"mt-1 text-xs text-neutral-500",children:n})]})});o.displayName="TextArea"},19006:function(e,t,r){"use strict";r.d(t,{As:function(){return SkeletonCard},Od:function(){return Skeleton},dR:function(){return SkeletonRow}});var l=r(85893);function Skeleton(e){let{className:t}=e;return(0,l.jsx)("div",{className:["bg-neutral-200 rounded animate-pulse",t].filter(Boolean).join(" ")})}function SkeletonRow(e){let{columns:t,className:r}=e;return(0,l.jsx)("tr",{className:["border-b border-neutral-100",r].filter(Boolean).join(" "),children:Array.from({length:t},(e,t)=>(0,l.jsx)("td",{className:"px-4 py-3",children:(0,l.jsx)(Skeleton,{className:"h-4"})},t))})}function SkeletonCard(e){let{lines:t=3,className:r}=e;return(0,l.jsxs)("div",{className:["bg-white rounded-xl border border-neutral-200 p-6 space-y-3",r].filter(Boolean).join(" "),children:[(0,l.jsx)(Skeleton,{className:"h-5 w-1/3"}),Array.from({length:t},(e,r)=>(0,l.jsx)(Skeleton,{className:"h-4 ".concat(r===t-1?"w-2/3":"w-full")},r))]})}},42176:function(e,t,r){"use strict";r.d(t,{n:function(){return TabBar}});var l=r(85893);function TabBar(e){let{tabs:t,value:r,onChange:a,className:s,ariaLabel:n}=e;return(0,l.jsx)("div",{role:"tablist","aria-label":n,className:["flex flex-wrap gap-2",s].filter(
1Boolean).join(" "),children:t.map(e=>{let t=e.value===r;return(0,l.jsxs)("button",{role:"tab","aria-selected":t,onClick:()=>a(e.value),className:["min-h-10 border px-4 py-2 text-sm font-medium transition-colors focus:outline-none focus-visible:ring-2 focus-visible:ring-primary-500 focus-visible:ring-offset-2",t?"bg-primary-50 text-primary-800 border-primary-200":"bg-white text-neutral-600 border-neutral-200 hover:bg-neutral-50"].join(" "),children:[e.label,"number"==typeof e.count&&(0,l.jsx)("span",{className:["ml-2 inline-flex items-center justify-center min-w-[1.25rem] px-1.5 py-0.5 rounded-full text-xs font-semibold",t?"bg-primary-100 text-primary-800":"bg-neutral-100 text-neutral-600"].join(" "),children:e.count})]},e.value)})})}},73192:function(e,t,r){"use strict";r.d(t,{RS:function(){return toCloudFrontUrl},os:function(){return isS3Url}});let l="d3io2xhpywuvrj.cloudfront.net",a="d39ri363ozhn1s.cloudfront.net",s=[{pattern:/https:\/\/naked-denver-images-prod\.s3\.amazonaws\.com/,cloudfront:l},{pattern:/https:\/\/naked-denver-images-prod\.s3\.us-west-2\.amazonaws\.com/,cloudfront:l},{pattern:/https:\/\/naked-denver-images-dev\.s3\.amazonaws\.com/,cloudfront:a},{pattern:/https:\/\/naked-denver-images-dev\.s3\.us-west-2\.amazonaws\.com/,cloudfront:a}],n=s.map(e=>e.pattern);function toCloudFrontUrl(e){if(!e)return"";for(let{pattern:t,cloudfront:r}of s)if(t.test(e)){let l=e.replace(t,"https://".concat(r));return function(e){try{let t=new URL(e),r=t.pathname.split("/").map(e=>encodeURIComponent(decodeURIComponent(e))).join("/");return t.pathname=r,t.toString()}catch(t){return e}}(l)}return e}function isS3Url(e){return!!e&&n.some(t=>t.test(e))}},1342:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{noSSR:function(){return noSSR},default:function(){return dynamic}});let l=r(38754),a=(r(67294),l._(r(24304)));function convertModule(e){return{default:(null==e?void 0:e.default)||e}}function noSSR(e,t){return delete t.webpack,delete t.modules,e(t)}function dynamic(e,t){let r=a.default,l={loading:e=>{let{error:t,isLoading:r,pastDelay:l}=e;return null}};e instanceof Promise?l.loader=()=>e:"function"==typeof e?l.loader=e:"object"==typeof e&&(l={...l,...e}),l={...l,...t};let s=l.loader;return(l.loadableGenerated&&(l={...l,...l.loadableGenerated},delete l.loadableGenerated),"boolean"!=typeof l.ssr||l.ssr)?r({...l,loader:()=>null!=s?s().then(convertModule):Promise.resolve(convertModule(()=>null))}):(delete l.webpack,delete l.modules,noSSR(r,l))}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},30043:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"LoadableContext",{enumerable:!0,get:function(){return s}});let l=r(38754),a=l._(r(67294)),s=a.default.createContext(null)},24304:function(e,t,r){"use strict";/** 2@copyright (c) 2017-present James Kyle <[email protected]> 3 MIT License 4 Permission is hereby granted, free of charge, to any person obtaining 5a copy of this software and associated documentation files (the 6"Software"), to deal in the Software without restriction, including 7without limitation the rights to use, copy, modify, merge, publish, 8distribute, sublicense, and/or sell copies of the Software, and to 9permit persons to whom the Software is furnished to do so, subject to 10the following conditions: 11 The above copyright notice and this permission notice shall be 12included in all copies or substantial portions of the Software. 13 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 14EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 15MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 16NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 17LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 18OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 19WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
20*/Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return d}});let l=r(38754),a=l._(r(67294)),s=r(30043),n=[],o=[],i=!1;function load(e){let t=e(),r={loading:!0,loaded:null,error:null};return r.promise=t.then(e=>(r.loading=!1,r.loaded=e,e)).catch(e=>{throw r.loading=!1,r.error=e,e}),r}let LoadableSubscription=class LoadableSubscription{promise(){return this._res.promise}retry(){this._clearTimeouts(),this._res=this._loadFn(this._opts.loader),this._state={pastDelay:!1,timedOut:!1};let{_res:e,_opts:t}=this;e.loading&&("number"==typeof t.delay&&(0===t.delay?this._state.pastDelay=!0:this._delay=setTimeout(()=>{this._update({pastDelay:!0})},t.delay)),"number"==typeof t.timeout&&(this._timeout=setTimeout(()=>{this._update({timedOut:!0})},t.timeout))),this._res.promise.then(()=>{this._update({}),this._clearTimeouts()}).catch(e=>{this._update({}),this._clearTimeouts()}),this._update({})}_update(e){this._state={...this._state,error:this._res.error,loaded:this._res.loaded,loading:this._res.loading,...e},this._callbacks.forEach(e=>e())}_clearTimeouts(){clearTimeout(this._delay),clearTimeout(this._timeout)}getCurrentValue(){return this._state}subscribe(e){return this._callbacks.add(e),()=>{this._callbacks.delete(e)}}constructor(e,t){this._loadFn=e,this._opts=t,this._callbacks=new Set,this._delay=null,this._timeout=null,this.retry()}};function Loadable(e){return function(e,t){let r=Object.assign({loader:null,loading:null,delay:200,timeout:null,webpack:null,modules:null},t),l=null;function init(){if(!l){let t=new LoadableSubscription(e,r);l={getCurrentValue:t.getCurrentValue.bind(t),subscribe:t.subscribe.bind(t),retry:t.retry.bind(t),promise:t.promise.bind(t)}}return l.promise()}if(!i){let e=r.webpack?r.webpack():r.modules;e&&o.push(t=>{for(let r of e)if(t.includes(r))return init()})}function LoadableComponent(e,t){!function(){init();let e=a.default.useContext(s.LoadableContext);e&&Array.isArray(r.modules)&&r.modules.forEach(t=>{e(t)})}();let n=a.default.useSyncExternalStore(l.subscribe,l.getCurrentValue,l.getCurrentValue);return a.default.useImperativeHandle(t,()=>({retry:l.retry}),[]),a.default.useMemo(()=>{var t;return n.loading||n.error?a.default.createElement(r.loading,{isLoading:n.loading,pastDelay:n.pastDelay,timedOut:n.timedOut,error:n.error,retry:l.retry}):n.loaded?a.default.createElement((t=n.loaded)&&t.default?t.default:t,e):null},[e,n])}return LoadableComponent.preload=()=>init(),LoadableComponent.displayName="LoadableComponent",a.default.forwardRef(LoadableComponent)}(load,e)}function flushInitializers(e,t){let r=[];for(;e.length;){let l=e.pop();r.push(l(t))}return Promise.all(r).then(()=>{if(e.length)return flushInitializers(e,t)})}Loadable.preloadAll=()=>new Promise((e,t)=>{flushInitializers(n).then(e,t)}),Loadable.preloadReady=e=>(void 0===e&&(e=[]),new Promise(t=>{let res=()=>(i=!0,t());flushInitializers(o,e).then(res,res)})),window.__NEXT_PRELOADREADY=Loadable.preloadReady;let d=Loadable},8021:function(e,t,r){"use strict";r.r(t),r.d(t,{default:function(){return NeighborhoodsPage}});var l=r(85893),a=r(41664),s=r.n(a),n=r(25675),o=r.n(n),i=r(67294),d=r(5152),c=r.n(d),u=r(92891),m=r(19887),h=r(91373);let x=(0,h.Z)("grid-3x3",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M3 9h18",key:"1pudct"}],["path",{d:"M3 15h18",key:"5xshup"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"M15 3v18",key:"14nvp0"}]]);var f=r(87764),p=r(54976),b=r(41352),g=r(73192),v=r(14530),j=r(78024),y=r(42176),N=r(19006),w=r(80428);let _=c()(()=>Promise.all([r.e(2644),r.e(6996),r.e(4916)]).then(r.bind(r,4916)),{loadableGenerated:{webpack:()=>[4916]},ssr:!1,loading:()=>(0,l.jsx)("div",{className:"h-[500px] bg-neutral-100 rounded-2xl animate-pulse"})});function NeighborhoodsPage(){let[e,t]=(0,i.useState)([]),[r,a]=(0,i.useState)([]),[n,d]=(0,i.useState)(!0),[c,h]=(0,i.useState)(!1),[k,C]=(0,i.useState)(null),[S,z]=(0,i.useState)(""),[E,L]=(0,i.useState)(null),[R,M]=(0,i.useState)(!1),[O,P]=(0,i.useState)(12),[I,T]=(0,i.useState)([]),[A,D]=(0,i.useState)("map");(0,i.useEffect)(()=>{let loadNeighborhoods=async()=>{try{d(!0),fetch("/api/neighborhood-reports").then(e=>e.ok?e.json():null).then(e=>(null==e?void 0:e.data)&&T(e.data)).catch(()=>{});let e=await fetch("/api/neighborhoods");if(!e.ok)throw Error("Neighborhoods API error! status: ".concat(e.status));let r=await e.json(),l=(r.data||[]).filter(e=>"All Neighborhoods"!==e.name&&"listing"!==e.slug).sort((e,t)=>
20e.name.localeCompare(t.name));t(l)}catch(e){C(e instanceof Error?e.message:"Failed to load neighborhoods")}finally{d(!1)}};loadNeighborhoods()},[]);let B=e.filter(e=>e.name.toLowerCase().includes(S.toLowerCase())||e.description.toLowerCase().includes(S.toLowerCase())),closeModal=()=>{M(!1),L(null),a([])};(0,i.useEffect)(()=>{let handleEscape=e=>{"Escape"===e.key&&R&&closeModal()};return R&&(document.addEventListener("keydown",handleEscape),document.body.style.overflow="hidden"),()=>{document.removeEventListener("keydown",handleEscape),document.body.style.overflow="unset"}},[R]);let U=[{value:"map",label:(0,l.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,l.jsx)(m.Z,{size:16}),"Map"]})},{value:"grid",label:(0,l.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,l.jsx)(x,{size:16}),"Grid"]})}];return(0,l.jsxs)(u.Z,{title:"Neighborhoods - Naked Denver",description:"Explore Denver's neighborhoods â coverage, character, and what's changing on the ground.",children:[(0,l.jsx)("section",{className:"py-12 bg-neutral-50",children:(0,l.jsxs)("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:[(0,l.jsxs)("div",{className:"mb-10",children:[(0,l.jsx)("h1",{className:"text-4xl font-bold text-neutral-900 mb-4",children:"Denver Neighborhoods"}),(0,l.jsx)("p",{className:"text-xl text-neutral-600 max-w-2xl",children:"The places we cover. Click in for stories, history, and what's changing."})]}),(0,l.jsxs)("div",{className:"mb-8 flex flex-col sm:flex-row gap-4 items-start sm:items-center justify-between",children:[(0,l.jsxs)("div",{className:"relative max-w-md flex-1 w-full",children:[(0,l.jsx)(j.I,{type:"text",placeholder:"Search neighborhoods...",value:S,onChange:e=>z(e.target.value),inputSize:"sm",className:"pl-10"}),(0,l.jsx)(f.Z,{className:"absolute top-1/2 -translate-y-1/2 left-3 h-4 w-4 text-neutral-400 pointer-events-none"})]}),(0,l.jsx)(y.n,{tabs:U,value:A,onChange:D,ariaLabel:"View mode"})]}),n?(0,l.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8",children:[0,1,2,3,4,5].map(e=>(0,l.jsxs)("div",{className:"bg-white rounded-2xl border border-neutral-200 p-4",children:[(0,l.jsx)(N.Od,{className:"h-48 mb-4"}),(0,l.jsx)(N.Od,{className:"h-6 w-2/3 mb-2"}),(0,l.jsx)(N.Od,{className:"h-4 w-full mb-1"}),(0,l.jsx)(N.Od,{className:"h-4 w-3/4"})]},e))}):k?(0,l.jsx)(w.u,{title:"Couldn't load neighborhoods",description:k}):0===B.length?(0,l.jsx)(w.u,{icon:f.Z,title:S?'No matches for "'.concat(S,'"'):"No neighborhoods yet",description:S?"Try a different name or clear the search.":void 0}):(0,l.jsxs)(l.Fragment,{children:["map"===A&&(0,l.jsx)("div",{className:"mb-12",children:(0,l.jsx)(_,{neighborhoods:B.map(e=>({id:e.id,name:e.name,slug:e.slug,post_count:e.post_count})),onNeighborhoodClick:e=>{window.location.href="/posts?neighborhood=".concat(encodeURIComponent(e))}})}),"map"===A&&(0,l.jsxs)("div",{className:"mb-6",children:[(0,l.jsx)("h2",{className:"text-2xl font-semibold text-neutral-900",children:"All Neighborhoods"}),(0,l.jsx)("p",{className:"text-neutral-600",children:"Browse the list, or use the map above."})]}),I.length>0&&(0,l.jsxs)("div",{className:"mb-10 rounded-2xl border border-neutral-200 bg-neutral-50 p-6",children:[(0,l.jsx)("h2",{className:"text-lg font-semibold text-neutral-900 mb-1",children:"Development reports"}),(0,l.jsxs)("p",{className:"text-sm text-neutral-600 mb-4",children:["Pipeline, sales activity and zoning for ",I.length," Denver neighborhoods, compiled from city and county records."]}),(0,l.jsx)("div",{className:"flex flex-wrap gap-2",children:I.map(e=>(0,l.jsxs)(s(),{href:"/neighborhoods/".concat(e.slug),className:"rounded-full border border-neutral-300 bg-white px-3 py-1.5 text-sm text-neutral-700 hover:border-primary-500 hover:text-primary-700 transition-colors",children:[e.name,e.filings_total>0&&(0,l.jsx)("span",{className:"ml-1.5 text-xs text-neutral-500",children:e.filings_total})]},e.slug))})]}),(0,l.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8 items-stretch auto-rows-fr",children:B.slice(0,O).map((e,t)=>{var r;return(0,l.jsxs)(s(),{href:"/posts?neighborhood=".concat(encodeURIComponent(e.name)),className:"bg-white rounded-2xl border border-neutral-200 shadow-sm overflow-hidden hover:shadow-md transition-shadow duration-200 text-left w-full block h-full flex flex-col focus:outline-none focus:ring-2 focus:ring-primary-500 focus:ring-offset-2",children:[(0,l.jsx)("div",{className:"relative h-60 bg-neutral-200",children:e.hero_image_url?(0,l.jsx)(o(),{src:(0,g.RS)(e.hero_image_url),alt:e.name,fill:!0,className:"object-cover",sizes:"(max-width: 768px) 100vw, (max-width: 1024px) 50vw, 33vw",loading:t<6?"eager":"lazy",priority:t<3,unoptimized:!0}):(0,l.jsx)("div",{className:"w-full h-full flex items-center justify-center bg-neutral-100",children:(0,l.jsxs)("div",{className:"text-center",children:[(0,l.jsx)(p.Z,{className:"w-12 h-12 text-neutral-400 mx-auto mb-2"}),(0,l.jsx)("span",{className:"text-neutral-500 text-sm font-medium",children:e.name})]})})}),(0,l.jsxs)("div",{className:"p-6 flex flex-col h-full",children:[(0,l.jsx)("h3",{className:"text-xl font-semibold text-neutral-900 mb
20-2",children:e.name}),(null===(r=e.description)||void 0===r?void 0:r.trim())&&(0,l.jsx)("p",{className:"text-neutral-600 mb-4 line-clamp-2",children:e.description}),(0,l.jsxs)("div",{className:"mt-auto pt-2 flex items-center justify-between text-sm",children:[(0,l.jsxs)("span",{className:"text-neutral-500",children:[(0,l.jsx)("span",{className:"font-semibold text-neutral-900",children:e.post_count})," ",1===e.post_count?"story":"stories"]}),(0,l.jsx)("span",{className:"font-semibold text-primary-700",children:"View â"})]})]})]},e.id)})}),B.length>O&&(0,l.jsx)("div",{className:"mt-12 text-center",children:(0,l.jsx)(v.z,{onClick:()=>P(e=>e+12),variant:"secondary",children:"Load More"})}),(0,l.jsx)("div",{className:"mt-16",children:(0,l.jsxs)("div",{className:"bg-white rounded-2xl border border-neutral-200 p-8 text-center",children:[(0,l.jsx)("h2",{className:"text-2xl font-semibold text-neutral-900 mb-3",children:"Don't see your neighborhood?"}),(0,l.jsx)("p",{className:"text-neutral-600 mb-6 max-w-xl mx-auto",children:"We're adding coverage city-wide. Tell us where to look next."}),(0,l.jsx)(s(),{href:"/contact",children:(0,l.jsx)(v.z,{children:"Suggest coverage"})})]})})]})]})}),R&&E&&(0,l.jsxs)("div",{className:"fixed inset-0 z-50 flex items-center justify-center p-4",children:[(0,l.jsx)("div",{className:"absolute inset-0 bg-black/60 backdrop-blur-sm",onClick:closeModal,"aria-hidden":!0}),(0,l.jsxs)("div",{className:"relative bg-white rounded-3xl shadow-2xl max-w-5xl w-full max-h-[95vh] overflow-hidden",children:[(0,l.jsx)("button",{onClick:closeModal,className:"absolute top-6 right-6 z-10 bg-white/90 backdrop-blur-sm hover:bg-white rounded-full p-2.5 transition-colors focus:outline-none focus:ring-2 focus:ring-primary-500 shadow","aria-label":"Close",children:(0,l.jsx)(b.Z,{className:"w-5 h-5 text-neutral-700"})}),(null==E?void 0:E.hero_image_url)&&(0,l.jsxs)("div",{className:"relative h-80 bg-neutral-100",children:[(0,l.jsx)(o(),{src:(0,g.RS)(E.hero_image_url),alt:E.name,fill:!0,className:"object-cover",sizes:"(max-width: 1200px) 100vw, 1200px",priority:!0,unoptimized:(0,g.os)(E.hero_image_url)}),(0,l.jsx)("div",{className:"absolute inset-0 bg-gradient-to-t from-black/30 to-transparent"})]}),(0,l.jsxs)("div",{className:"overflow-y-auto max-h-[calc(95vh-20rem)]",children:[(0,l.jsxs)("div",{className:"px-8 py-8",children:[(0,l.jsx)("h2",{className:"text-4xl font-bold text-neutral-900 mb-3",children:E.name}),(0,l.jsx)("p",{className:"text-xl text-neutral-600 leading-relaxed max-w-3xl mb-8",children:E.description}),(E.avgPrice||E.propertyCount)&&(0,l.jsxs)("div",{className:"grid grid-cols-2 gap-4 mb-10",children:[E.avgPrice&&(0,l.jsxs)("div",{className:"bg-neutral-50 border border-neutral-200 rounded-xl p-5",children:[(0,l.jsx)("div",{className:"text-sm font-medium text-neutral-500 mb-1",children:"Average price"}),(0,l.jsx)("div",{className:"text-3xl font-bold text-neutral-900",children:E.avgPrice})]}),E.propertyCount&&(0,l.jsxs)("div",{className:"bg-neutral-50 border border-neutral-200 rounded-xl p-5",children:[(0,l.jsx)("div",{className:"text-sm font-medium text-neutral-500 mb-1",children:"Available properties"}),(0,l.jsx)("div",{className:"text-3xl font-bold text-neutral-900",children:E.propertyCount})]})]})]}),(0,l.jsxs)("div",{className:"px-8 pb-8",children:[(0,l.jsx)("h3",{className:"text-2xl font-bold text-neutral-900 mb-6",children:"Recent stories"}),c?(0,l.jsx)("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-6 mb-8",children:[0,1].map(e=>(0,l.jsxs)("div",{className:"bg-white border border-neutral-200 rounded-2xl p-6",children:[(0,l.jsx)(N.Od,{className:"h-40 mb-4"}),(0,l.jsx)(N.Od,{className:"h-6 w-2/3 mb-2"}),(0,l.jsx)(N.Od,{className:"h-4 w-full"})]},e))}):r.filter(e=>e.hero_image_url).length>0?(0,l.jsx)("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-6 mb-8",children:r.filter(e=>e.hero_image_url).slice(0,4).map(e=>(0,l.jsxs)("a",{href:"/post/".concat(e.slug),className:"group bg-white border border-neutral-200 rounded-2xl p-6 hover:shadow-md transition-shadow text-left w-full block focus:outline-none focus:ring-2 focus:ring-primary-500 focus:ring-offset-2",children:[(0,l.jsx)("div",{className:"h-40 bg-neutral-100 rounded-xl mb-4 overflow-hidden relative",children:e.hero_image_url&&(0,l.jsx)(o(),{src:(0,g.RS)(e.hero_image_url),alt:e.title,fill:!0,sizes:"(max-width: 768px) 100vw, 50vw",className:"object-cover group-hover:scale-105 transition-transform duration-300",loading:"lazy",unoptimized:(0,g.os)(e.hero_image_url)})}
20),(0,l.jsx)("h4",{className:"font-bold text-neutral-900 mb-2 line-clamp-2 text-lg",children:e.title}),(0,l.jsx)("p",{className:"text-neutral-600 line-clamp-3 leading-relaxed text-sm",children:e.summary||""}),e.author&&(0,l.jsxs)("div",{className:"mt-3 text-sm text-neutral-500",children:["By ",e.author.replace(/^by\s+/i,"")]})]},e.id))}):(0,l.jsx)(w.u,{title:"No stories yet",description:"Coverage of this neighborhood is on the way."})]}),(0,l.jsx)("div",{className:"px-8 pb-8",children:(0,l.jsx)("div",{className:"bg-neutral-50 rounded-2xl border border-neutral-200 p-6",children:(0,l.jsx)(s(),{href:"/contact",onClick:closeModal,children:(0,l.jsx)(v.z,{className:"w-full",children:"Talk to our team"})})})})]})]})]})]})}},5152:function(e,t,r){e.exports=r(1342)}},function(e){e.O(0,[3996,4232,5675,4593,2891,9774,2888,179],function(){return e(e.s=68306)}),_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.