1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5647],{6296:(e,r,t)=>{"use strict";t.d(r,{A:()=>n});let n=(0,t(78340).A)("LoaderCircle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]])},15647:(e,r,t)=>{Promise.resolve().then(t.t.bind(t,98500,23)),Promise.resolve().then(t.bind(t,51701))},18460:(e,r,t)=>{"use strict";t.d(r,{F:()=>o});var n=t(29722);let l=e=>"boolean"==typeof e?`${e}`:0===e?"0":e,i=n.$,o=(e,r)=>t=>{var n;if((null==r?void 0:r.variants)==null)return i(e,null==t?void 0:t.class,null==t?void 0:t.className);let{variants:o,defaultVariants:s}=r,a=Object.keys(o).map(e=>{let r=null==t?void 0:t[e],n=null==s?void 0:s[e];if(null===r)return null;let i=l(r)||l(n);return o[e][i]}),d=t&&Object.entries(t).reduce((e,r)=>{let[t,n]=r;return void 0===n||(e[t]=n),e},{});return i(e,a,null==r||null==(n=r.compoundVariants)?void 0:n.reduce((e,r)=>{let{class:t,className:n,...l}=r;return Object.entries(l).every(e=>{let[r,t]=e;return Array.isArray(t)?t.includes({...s,...d}[r]):({...s,...d})[r]===t})?[...e,t,n]:e},[]),null==t?void 0:t.class,null==t?void 0:t.className)}},40980:(e,r,t)=>{"use strict";t.d(r,{cn:()=>i});var n=t(29722),l=t(622);function i(...e){return(0,l.QP)((0,n.$)(e))}},51701:(e,r,t)=>{"use strict";t.d(r,{NewsletterSignup:()=>u});var n=t(95155),l=t(12115),i=t(92289),o=t(6296),s=t(89239),a=t(60529),d=t(40980);function u({source:e,className:r,headline:t="Weekly listing prep tips",description:c="Short, practical emails for agents â staging, copy, and portal CTR. No spam."}){let[f,p]=(0,l.useState)(""),[m,g]=(0,l.useState)("idle"),[h,y]=(0,l.useState)(null);async function b(r){r.preventDefault(),g("loading"),y(null);try{let r=await fetch("/api/leads/newsletter",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({email:f,source:e})}),t=await r.json();if(!r.ok){g("error"),y(t.error??"Could not subscribe.");return}g("done"),y("You're on the list â thanks!"),p("")}catch{g("error"),y("Network error. Please try again.")}}return(0,n.jsxs)("div",{className:(0,d.cn)("rounded-2xl border border-border bg-card/80 p-5 shadow-sm sm:p-6",r),children:[(0,n.jsxs)("div",{className:"flex items-start gap-3",children:[(0,n.jsx)("span",{className:"flex h-10 w-10 shrink-0 items-center justify-center rounded-xl bg-primary/15 text-primary",children:(0,n.jsx)(i.A,{className:"h-5 w-5","aria-hidden":!0})}),(0,n.jsxs)("div",{className:"min-w-0 space-y-1",children:[(0,n.jsx)("p",{className:"text-sm font-semibold text-foreground",children:t}),(0,n.jsx)("p",{className:"text-xs leading-relaxed text-muted-foreground",children:c})]})]}),(0,n.jsxs)("form",{onSubmit:b,className:"mt-4 flex flex-col gap-2 sm:flex-row",children:[(0,n.jsx)(a.p,{type:"email",required:!0,placeholder:"[email protected]",value:f,onChange:e=>p(e.target.value),disabled:"done"===m,className:"min-h-11 flex-1","aria-label":"Email address"}),(0,n.jsx)(s.$,{type:"submit",disabled:"loading"===m||"done"===m,className:"min-h-11 rounded-full px-5",children:"loading"===m?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(o.A,{className:"mr-2 h-4 w-4 animate-spin","aria-hidden":!0}),"Joiningâ¦"]}):"done"===m?"Subscribed":"Subscribe"})]}),h?(0,n.jsx)("p",{className:(0,d.cn)("mt-2 text-xs","error"===m?"text-destructive":"text-muted-foreground"),role:"status",children:h}):null]})}},54850:(e,r,t)=>{"use strict";let n,l,i;t.d(r,{DX:()=>p});var o=t(12115),s=t.t(o,2);function a(e,r){if("function"==typeof e)return e(r);null!=e&&(e.current=r)}var d=t(95155),u=Symbol.for("react.lazy"),c=s[" use ".trim().toString()];function f(e){var r;return null!=e&&"object"==typeof e&&"$$typeof"in e&&e.$$typeof===u&&"_payload"in e&&"object"==typeof(r=e._payload)&&null!==r&&"then"in r}var p=((i=o.forwardRef((e,r)=>{let{children:t,...n}=e;if(f(t)&&"function"==typeof c&&(t=c(t._payload)),o.isValidElement(t)){var l;let e,i,s=(l=t,(i=(e=Object.getOwnPropertyDescriptor(l.props,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning)?l.ref:(i=(e=Object.getOwnPropertyDescriptor(l,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning)?l.props.ref:l.props.ref||l.ref),d=function(e,r){let t={...r};for(let n in r){let l=e[n],i=r[n];/^on[A-Z]/.test(n)?l&&i?t[n]=(...e)=>{let r=i(...e);return l(...e),r}:l&&(t[n]=l):"style"===n?t[n]={...l,...i}
1:"className"===n&&(t[n]=[l,i].filter(Boolean).join(" "))}return{...e,...t}}(n,t.props);return t.type!==o.Fragment&&(d.ref=r?function(...e){return r=>{let t=!1,n=e.map(e=>{let n=a(e,r);return t||"function"!=typeof n||(t=!0),n});if(t)return()=>{for(let r=0;r<n.length;r++){let t=n[r];"function"==typeof t?t():a(e[r],null)}}}}(r,s):s),o.cloneElement(t,d)}return o.Children.count(t)>1?o.Children.only(null):null})).displayName="Slot.SlotClone",n=i,(l=o.forwardRef((e,r)=>{let{children:t,...l}=e;f(t)&&"function"==typeof c&&(t=c(t._payload));let i=o.Children.toArray(t),s=i.find(g);if(s){let e=s.props.children,t=i.map(r=>r!==s?r:o.Children.count(e)>1?o.Children.only(null):o.isValidElement(e)?e.props.children:null);return(0,d.jsx)(n,{...l,ref:r,children:o.isValidElement(e)?o.cloneElement(e,void 0,t):null})}return(0,d.jsx)(n,{...l,ref:r,children:t})})).displayName="Slot.Slot",l),m=Symbol("radix.slottable");function g(e){return o.isValidElement(e)&&"function"==typeof e.type&&"__radixId"in e.type&&e.type.__radixId===m}},60529:(e,r,t)=>{"use strict";t.d(r,{p:()=>o});var n=t(95155),l=t(12115),i=t(40980);let o=l.forwardRef(({className:e,type:r,...t},l)=>(0,n.jsx)("input",{type:r,className:(0,i.cn)("flex h-11 w-full rounded-lg border border-input bg-background px-3 py-2 text-base ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 sm:h-10 sm:text-sm",e),ref:l,...t}));o.displayName="Input"},78340:(e,r,t)=>{"use strict";t.d(r,{A:()=>s});var n=t(12115);let l=(...e)=>e.filter((e,r,t)=>!!e&&""!==e.trim()&&t.indexOf(e)===r).join(" ").trim();var i={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let o=(0,n.forwardRef)(({color:e="currentColor",size:r=24,strokeWidth:t=2,absoluteStrokeWidth:o,className:s="",children:a,iconNode:d,...u},c)=>(0,n.createElement)("svg",{ref:c,...i,width:r,height:r,stroke:e,strokeWidth:o?24*Number(t)/Number(r):t,className:l("lucide",s),...u},[...d.map(([e,r])=>(0,n.createElement)(e,r)),...Array.isArray(a)?a:[a]])),s=(e,r)=>{let t=(0,n.forwardRef)(({className:t,...i},s)=>(0,n.createElement)(o,{ref:s,iconNode:r,className:l(`lucide-${e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,t),...i}));return t.displayName=`${e}`,t}},89239:(e,r,t)=>{"use strict";t.d(r,{$:()=>d,r:()=>a});var n=t(95155),l=t(12115),i=t(54850),o=t(18460),s=t(40980);let a=(0,o.F)("inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground hover:bg-destructive/90",outline:"border border-input bg-background hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-10 px-4 py-2",sm:"h-9 rounded-md px-3",lg:"h-11 rounded-md px-8",icon:"h-10 w-10"}},defaultVariants:{variant:"default",size:"default"}}),d=l.forwardRef(({className:e,variant:r,size:t,asChild:l=!1,...o},d)=>{let u=l?i.DX:"button";return(0,n.jsx)(u,{className:(0,s.cn)(a({variant:r,size:t,className:e})),ref:d,...o})});d.displayName="Button"},92289:(e,r,t)=>{"use strict";t.d(r,{A:()=>n});let n=(0,t(78340).A)("Mail",[["rect",{width:"20",height:"16",x:"2",y:"4",rx:"2",key:"18n3k1"}],["path",{d:"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7",key:"1ocrg3"}]])}}]);
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.