PageSourceSearch

https://eaglemortgagetx.com/_next/static/chunks/39860.1440d2b8be40371a.js

js eaglemortgagetx.com collected 2026-10-08 08:46:04 UTC 13,729 bytes, 1 lines download raw bytes

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]="8f2ffa81-7baa-4b63-8005-d14e38474e88",e._sentryDebugIdIdentifier="sentry-dbid-8f2ffa81-7baa-4b63-8005-d14e38474e88")}catch(e){}}();"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39860],{17479:(e,t,o)=>{o.r(t),o.d(t,{default:()=>g});var r=o(95155),n=o(12115),l=o(59964),i=o(8898),a=o(11856),s=o(76150),c=o(32956),d=o(38954),p=o(3373);let u=[{elementType:"geometry",stylers:[{color:"#18212c"}]},{elementType:"labels.text.stroke",stylers:[{color:"#18212c"}]},{elementType:"labels.text.fill",stylers:[{color:"#9cabbc"}]},{featureType:"administrative",elementType:"geometry.stroke",stylers:[{color:"#344356"}]},{featureType:"poi",elementType:"geometry",stylers:[{color:"#202b38"}]},{featureType:"poi",elementType:"labels.text.fill",stylers:[{color:"#93a3b5"}]},{featureType:"road",elementType:"geometry",stylers:[{color:"#2a3746"}]},{featureType:"road",elementType:"geometry.stroke",stylers:[{color:"#17202a"}]},{featureType:"road",elementType:"labels.text.fill",stylers:[{color:"#b7c2cf"}]},{featureType:"transit",elementType:"geometry",stylers:[{color:"#24313f"}]},{featureType:"water",elementType:"geometry",stylers:[{color:"#0f2635"}]},{featureType:"water",elementType:"labels.text.fill",stylers:[{color:"#71879a"}]}];function g(e){let{propertyAddress:t,propertyLat:o,propertyLng:g,comps:f,primaryColor:y="#7828fa"}=e,{colorMode:m}=(0,p.G6)(),x=(0,n.useRef)(null),h=(0,n.useRef)(null),b=(0,n.useRef)([]),w=(0,n.useRef)([]),v=(0,n.useRef)(null),S=(0,n.useRef)(null),T=(0,n.useRef)(!1),[k,E]=(0,n.useState)(!0),[C,I]=(0,n.useState)(!1),[j,D]=(0,n.useState)(null),[z,R]=(0,n.useState)(null),[L,M]=(0,n.useState)(null);(0,n.useEffect)(()=>{C&&h.current&&h.current.setOptions({styles:"dark"===m?u:null})},[m,C]),(0,n.useEffect)(()=>{if(!x.current||T.current)return;T.current=!0;let e=x.current;(async()=>{try{if(!e)return;let r=await fetch("/api/map");if(!r.ok)throw Error("Failed to fetch API key");let n=await r.json(),l=null==n?void 0:n.apiKey;if(!l)throw console.error("API response:",n),Error("API key not available in response");if(!window.google)if(document.querySelector('script[src*="maps.googleapis.com/maps/api/js"]'))await new Promise(e=>{let t=setInterval(()=>{window.google&&(clearInterval(t),e(!0))},100)});else{let e=document.createElement("script");e.src="https://maps.googleapis.com/maps/api/js?key=".concat(l,"&libraries=places,elevation,geometry"),e.async=!0,e.defer=!0,e.id="google-maps-script",await new Promise((t,o)=>{e.onload=t,e.onerror=o,document.head.appendChild(e)})}if(!e)return;let i=window.google.maps;if("function"==typeof i.importLibrary){let e=i.importLibrary,t=async t=>{try{await e(t)}catch(o){await new Promise(e=>setTimeout(e,400)),await e(t)}};await Promise.all(["maps","marker","geocoding"].map(t))}if(!e)return;let a=o,s=g,c=null;if(!t||a&&s)a&&s&&(c={lat:a,lng:s});else try{let e=new google.maps.Geocoder,o=await e.geocode({address:t}).catch(()=>null);(null==o?void 0:o.results[0])&&(a=o.results[0].geometry.location.lat(),s=o.results[0].geometry.location.lng(),c={lat:a,lng:s})}catch(e){console.warn("Geocoding failed:",e)}if(!a||!s){let e=f.find(e=>{var t,o;return(null==(t=e.location)?void 0:t.latitude)&&(null==(o=e.location)?void 0:o.longitude)});e&&(a=e.location.latitude,s=e.location.longitude)}v.current=c;let d=new google.maps.Map(e,{center:{lat:a||35.38,lng:s||-80.776},zoom:16,mapTypeId:google.maps.MapTypeId.HYBRID,mapTypeControl:!0,streetViewControl:!0,fullscreenControl:!0,zoomControl:!0,mapTypeControlOptions:{position:google.maps.ControlPosition.TOP_RIGHT,mapTypeIds:[google.maps.MapTypeId.HYBRID,google.maps.MapTypeId.ROADMAP,google.maps.MapTypeId.SATELLITE,google.maps.MapTypeId.TERRAIN]}});if(h.current=d,c&&(new google.maps.ElevationService().getElevationForLocations({locations:[c]}).then(e=>{let{results:t}=e;t[0]&&R(t[0].elevation)}).catch(e=>console.debug("Elevation fetch failed:",e)),console.log("[PropertyMap] Fetching building direction for:",t),fetch("/api/building-direction?address=".concat(encodeURIComponent(t))).then(e=>e.json()).then(e=>{console.log("[PropertyMap] Building direction response:",e),e.direction&&1?M(e.direction):(console.log("[PropertyMap] No building entrance data, falling back to Street View"),new google.maps.StreetViewService().getPanorama({location:c,radius:100,source:google.maps.StreetViewSource.OUTDOOR}).then(e=>{var t;let{data:o}=e;if((null==(t=o.location)?void 0:t.latLng)&&1){let e=google.maps.geometry.spherical.computeHeading(new google.maps.LatLng(c.lat,c.lng),o.location.latLng),t=["N","NE","E","SE","S","SW","W","NW"][Math.round((e%360+360)%360/45)%8];
1console.log("[PropertyMap] Street View fallback direction:",t),M(t)}}).catch(()=>{console.log("[PropertyMap] Street View also unavailable"),M(null)}))}).catch(e=>{console.error("[PropertyMap] Building direction fetch failed:",e),M(null)})),c){let e=new google.maps.Marker({position:c,map:d,title:"Your Property",icon:{path:google.maps.SymbolPath.CIRCLE,scale:14,fillColor:y,fillOpacity:1,strokeColor:"#ffffff",strokeWeight:3},label:{text:"★",color:"white",fontSize:"18px",fontWeight:"bold"},zIndex:1e3});b.current.push(e);let o=new google.maps.InfoWindow({content:'\n              <div style="padding: 12px; font-family: \'Roboto\', sans-serif; max-width: 250px;">\n                <h3 style="margin: 0 0 8px 0; font-size: 16px; font-weight: 700; color: '.concat(y,';">\uD83C\uDFE0 Your Property</h3>\n                <p style="margin: 4px 0; font-size: 13px; color: #333; font-weight: 500;">\n                  ').concat(t,"\n                </p>\n              </div>\n            ")});e.addListener("click",()=>{S.current&&S.current.close(),S.current===o?S.current=null:(o.open(d,e),S.current=o)})}d.addListener("click",()=>{S.current&&(S.current.close(),S.current=null)}),E(!1),I(!0)}catch(e){console.error("Error initializing map:",e),D("Unable to load map"),E(!1)}})()},[]);let P=f.map(e=>{var t,o,r;return"".concat(null!=(r=e.listingRef)?r:"",":").concat(null==(t=e.location)?void 0:t.latitude,",").concat(null==(o=e.location)?void 0:o.longitude,":").concat(e.listingStatus)}).join("|");return(0,n.useEffect)(()=>{var e;let t=h.current;if(!C||!t||!(null==(e=window.google)?void 0:e.maps))return;w.current.forEach(e=>{try{e.setMap(null)}catch(e){}}),w.current=[];let o=new google.maps.LatLngBounds;v.current&&o.extend(v.current),f.forEach((e,r)=>{var n,l,i,a,s,d;if(!(null==(n=e.location)?void 0:n.latitude)||!(null==(l=e.location)?void 0:l.longitude))return;let p={lat:e.location.latitude,lng:e.location.longitude};o.extend(p);let u=(0,c.Q)(e),g="#34A853";"active"===e.listingStatus?g="#FBBC04":"sold"===e.listingStatus&&(g="#EA4335");let f=new google.maps.Marker({position:p,map:t,title:u.streetAddress,icon:{path:google.maps.SymbolPath.CIRCLE,scale:10,fillColor:g,fillOpacity:1,strokeColor:"#ffffff",strokeWeight:2},label:{text:(r+1).toString(),color:"white",fontSize:"12px",fontWeight:"bold"}});w.current.push(f);let y=e.interiorSquareFeet&&e.price?Math.round(e.price/e.interiorSquareFeet):null,m=e.lotSize?(e.lotSize/43560).toFixed(2):null,x=new google.maps.InfoWindow({content:'\n              <div style="padding: 12px; font-family: \'Roboto\', sans-serif; max-width: 280px;">\n                <h3 style="margin: 0 0 8px 0; font-size: 15px; font-weight: 700; color: #333;">'.concat(u.streetAddress,'</h3>\n                <p style="margin: 0 0 4px 0; font-size: 11px; color: #666;">\n                  ').concat(u.city,", ").concat(u.state," ").concat(u.zipcode,'\n                </p>\n\n                <p style="margin: 8px 0; font-size: 20px; font-weight: 700; color: #2d3748;">\n                  $').concat(null==(i=e.price)?void 0:i.toLocaleString(),"\n                  ").concat(y?'<span style="font-size: 12px; color: #718096; font-weight: 400;"> ($'.concat(y,"/sqft)</span>"):"",'\n                </p>\n\n                <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 8px 0; font-size: 12px;">\n                  <div>\n                    <div style="color: #718096;">\uD83D\uDECF️ Bedrooms</div>\n                    <div style="font-weight: 600; color: #2d3748;">').concat(e.bedroomCount||"—",'</div>\n                  </div>\n                  <div>\n                    <div style="color: #718096;">\uD83D\uDEC1 Bathrooms</div>\n                    <div style="font-weight: 600; color: #2d3748;">').concat(e.bathroomCount||"—",'</div>\n                  </div>\n                  <div>\n                    <div style="color: #718096;">\uD83D\uDCD0 Living Area</div>\n                    <div style="font-weight: 600; color: #2d3748;">').concat((null==(a=e.interiorSquareFeet)?void 0:a.toLocaleString())||"—",' sqft</div>\n                  </div>\n                  <div>\n                    <div style="color: #718096;">\uD83C\uDFDE️ Lot Size</div>\n                    <div style="font-weight: 600; color: #2d3748;">').concat(m?m+" acres":(null==(s=e.lotSize)?void 0:s.toLocaleStr
1ing())+" sqft","</div>\n                  </div>\n                  ").concat(e.builtYear?'\n                    <div>\n                      <div style="color: #718096;">\uD83C\uDFD7️ Year Built</div>\n                      <div style="font-weight: 600; color: #2d3748;">'.concat(e.builtYear,"</div>\n                    </div>\n                  "):"",'\n                  <div>\n                    <div style="color: #718096;">\uD83C\uDFD8️ Type</div>\n                    <div style="font-weight: 600; color: #2d3748; font-size: 10px;">').concat((null==(d=e.propertyType)?void 0:d.replace("_"," "))||"N/A",'</div>\n                  </div>\n                </div>\n\n                <div style="margin-top: 10px; padding-top: 8px; border-top: 1px solid #e2e8f0;">\n                  <span style="\n                    background: ').concat(g,';\n                    color: white;\n                    padding: 4px 10px;\n                    border-radius: 4px;\n                    font-weight: 600;\n                    font-size: 11px;\n                    text-transform: uppercase;\n                    letter-spacing: 0.5px;\n                  ">\n                    ').concat("active"===e.listingStatus?"\uD83C\uDFF7️ For Sale":"sold"===e.listingStatus?"✅ Sold":"\uD83D\uDCCD Off Market","\n                  </span>\n                </div>\n              </div>\n            ")});f.addListener("click",()=>{S.current&&S.current.close(),S.current===x?S.current=null:(x.open(t,f),S.current=x)})}),!o.isEmpty()&&f.length>0&&t.fitBounds(o,50)},[C,P]),(0,n.useLayoutEffect)(()=>()=>{if([...b.current,...w.current].forEach(e=>{if(e)try{e.setMap(null)}catch(e){console.debug("Error clearing marker:",e)}}),b.current=[],w.current=[],h.current&&window.google)try{window.google.maps&&window.google.maps.event&&window.google.maps.event.clearInstanceListeners(h.current)}catch(e){console.debug("Error clearing Google Maps listeners:",e)}if(x.current)try{for(;x.current.firstChild;)x.current.removeChild(x.current.firstChild)}catch(e){console.debug("Error clearing map container:",e)}h.current=null,T.current=!1},[]),(0,r.jsxs)(l.VStack,{align:"stretch",gap:4,children:[(0,r.jsxs)(i.Box,{w:"full",h:{base:"380px",md:"520px"},borderRadius:"8px",overflow:"hidden",border:"1px solid",borderColor:"border",bg:"surfaceMuted",position:"relative",children:[(0,r.jsx)("div",{ref:x,style:{width:"100%",height:"100%"},suppressHydrationWarning:!0}),k&&(0,r.jsx)(i.Box,{position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",zIndex:10,bg:"surfaceElevated",p:4,borderRadius:"8px",border:"1px solid",borderColor:"border",children:(0,r.jsx)(a.Text,{color:"ink.medium",children:"Loading interactive map..."})}),j&&(0,r.jsx)(i.Box,{position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",zIndex:10,bg:"surfaceElevated",p:4,borderRadius:"8px",border:"1px solid",borderColor:"border",children:(0,r.jsx)(a.Text,{color:{base:"red.700",_dark:"red.300"},children:j})}),(null!==z||L)&&(0,r.jsxs)(i.Box,{position:"absolute",bottom:0,left:0,bg:"rgba(34, 34, 34, 0.6)",px:2,py:.5,fontSize:"10px",fontFamily:"Roboto, Arial, sans-serif",color:"white",zIndex:1,display:"flex",gap:3,children:[null!==z&&(0,r.jsxs)(a.Text,{children:["Elev ",(0,d.Q)(z).toLocaleString()," ft"]}),L&&(0,r.jsxs)(a.Text,{children:["Faces ",L]})]})]}),(0,r.jsxs)(s.HStack,{justify:"center",gap:6,flexWrap:"wrap",fontSize:"sm",children:[(0,r.jsxs)(s.HStack,{gap:2,children:[(0,r.jsx)(i.Box,{w:"16px",h:"16px",borderRadius:"full",bg:y,border:"2px solid white",boxShadow:"sm",display:"flex",alignItems:"center",justifyContent:"center",color:"white",fontSize:"9px",lineHeight:"1",children:"★"}),(0,r.jsx)(a.Text,{children:"Your Property"})]}),(0,r.jsxs)(s.HStack,{gap:2,children:[(0,r.jsx)(i.Box,{w:"16px",h:"16px",borderRadius:"full",bg:"#FBBC04",border:"2px solid white",boxShadow:"sm"}),(0,r.jsx)(a.Text,{children:"For Sale"})]}),(0,r.jsxs)(s.HStack,{gap:2,children:[(0,r.jsx)(i.Box,{w:"16px",h:"16px",borderRadius:"full",bg:"#EA4335",border:"2px solid white",boxShadow:"sm"}),(0,r.jsx)(a.Text,{children:"Sold"})]}),(0,r.jsxs)(s.HStack,{gap:2,children:[(0,r.jsx)(i.Box,{w:"16px",h:"16px",borderRadius:"full",bg:"#34A853",border:"2px s
1olid white",boxShadow:"sm"}),(0,r.jsx)(a.Text,{children:"Other"})]})]}),(0,r.jsx)(a.Text,{fontSize:"xs",color:"ink.soft",textAlign:"center",children:"Click and drag to pan • Scroll to zoom • Click markers for details"})]})}},38954:(e,t,o)=>{o.d(t,{Q:()=>r});function r(e){return Math.round(3.28084*e)}}}]);

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.