PageSourceSearch

https://www.hillsprops.com/_next/static/chunks/pages/listing/[id]-7a9397f9cf8cee4c.js

js hillsprops.com collected 2026-10-09 23:14:51 UTC 82,377 bytes, 1 lines download raw bytes

1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6210],{34228:(e,t,n)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/listing/[id]",function(){return n(64476)}])},64476:(e,t,n)=>{"use strict";n.r(t),n.d(t,{__N_SSP:()=>td,default:()=>tp});var i=n(37876),a=n(14232),r=n(89099),s=n(80412),o=n(44113),l=n(49794),c=n(44348),x=n(7339),d=n(2639),p=n(18107),f=n(60755),h=n(46347),g=n(70946),u=n(71538),m=n(9227),b=n(66868),y=n(12317),S=n(24422),j=n(2487),A=n(84147),k=n(3034),v=n(7957),w=n(59017),z=n(95684),F=n(58865),P=n(75784),W=n(42124),I=n(62663),R=n(53891),C=n(30131),T=n(85493),J=n(44262),M=n(48529),D=n(81036),H=n(62457),N=n(97466),E=n(46084),L=n(58846),B=n(36581),O=n(78781),U=n(96545),_=n(58680),G=n(76041),Y=n(67063),q=n(41134),V=n(55128),X=n(18616),K=n(30088),Z=n(56823),$=n(29911),Q=n(6751),ee=n(55656),et=n(88036),en=n(85960),ei=n(83014),ea=n(68327),er=n(77835);let es=()=>(0,i.jsxs)(o.A,{sx:{borderRadius:"20px",overflow:"hidden",border:"1px solid #f1f5f9"},children:[(0,i.jsx)(ea.A,{variant:"rectangular",height:180,sx:{bgcolor:"#f1f5f9"}}),(0,i.jsxs)(o.A,{sx:{p:2},children:[(0,i.jsx)(ea.A,{variant:"text",width:"60%",height:28,sx:{mb:.5,bgcolor:"#f1f5f9"}}),(0,i.jsx)(ea.A,{variant:"text",width:"40%",height:18,sx:{mb:1.5,bgcolor:"#f1f5f9"}}),(0,i.jsx)(ea.A,{variant:"rectangular",height:44,sx:{borderRadius:"12px",bgcolor:"#f1f5f9"}})]})]}),eo=e=>{let{anchor:t}=e;(0,r.useRouter)();let[n,s]=(0,a.useState)([]),[c,x]=(0,a.useState)(!0);return((0,a.useEffect)(()=>{if(!t.id||!t.propertyType)return void x(!1);(async()=>{x(!0);try{let e=(0,ee.P)((0,ee.rJ)(en.db,"listings"),(0,ee._M)("propertyType","==",t.propertyType),(0,ee._M)("status","==","published"),(0,ee.AB)(30)),n=(await (0,ee.GG)(e)).docs.map(e=>({id:e.id,...e.data()})).filter(e=>e.id!==t.id).map(e=>({...e,_score:function(e,t){let n=0;if(e.district===t.district&&(n+=3),e.province===t.province&&(n+=2),e.listingType===t.listingType&&(n+=1),null!=t.price&&null!=e.price){let i=e.price/t.price;i>=.5&&i<=1.5&&(n+=1)}return n}(e,t)})).sort((e,t)=>t._score-e._score).slice(0,4);s(n)}catch(e){console.error("SimilarListings fetch error:",e)}finally{x(!1)}})()},[t]),c||0!==n.length)?(0,i.jsxs)(o.A,{component:"section",sx:{mt:{xs:6,md:8},pt:{xs:5,md:6},borderTop:"1px solid #f1f5f9"},children:[(0,i.jsxs)(o.A,{display:"flex",alignItems:"center",justifyContent:"space-between",mb:{xs:3,md:4},children:[(0,i.jsxs)(o.A,{children:[(0,i.jsxs)(o.A,{display:"flex",alignItems:"center",gap:1.5,mb:.6,children:[(0,i.jsx)(o.A,{sx:{width:4,height:22,borderRadius:"2px",background:"linear-gradient(180deg,#0f766e,#14b8a6)",flexShrink:0}}),(0,i.jsx)(l.A,{sx:{fontFamily:'"Plus Jakarta Sans", sans-serif',fontWeight:800,fontSize:{xs:"18px",md:"22px"},color:"#0f172a",letterSpacing:"-0.02em"},children:"Similar Properties"})]}),(0,i.jsxs)(l.A,{sx:{fontFamily:'"Plus Jakarta Sans", sans-serif',fontSize:"13px",color:"#94a3b8",fontWeight:500,pl:"20px"},children:["Other ",t.propertyType.toLowerCase()," listings you might like"]})]}),(0,i.jsx)(w.A,{label:"".concat(t.propertyType),size:"small",sx:{fontFamily:'"Plus Jakarta Sans", sans-serif',fontWeight:700,fontSize:"11px",color:"#0f766e",background:"rgba(15,118,110,0.07)",border:"1px solid rgba(15,118,110,0.18)",display:{xs:"none",sm:"flex"}}})]}),(0,i.jsx)(o.A,{display:"grid",gridTemplateColumns:{xs:"1fr",sm:"repeat(2, 1fr)",md:"repeat(4, 1fr)"},gap:{xs:2,sm:2.5},children:c?Array.from({length:4}).map((e,t)=>(0,i.jsx)(es,{},t)):n.map((e,t)=>{var n,a,r,s,o,l,c;return(0,i.jsx)(W.P.div,{initial:{opacity:0,y:18},animate:{opacity:1,y:0},transition:{duration:.32,delay:.07*t},children:(0,i.jsx)(er.A,{id:e.id,title:e.title,description:null!=(a=e.description)?a:"",imageUrl:null==(n=e.images)?void 0:n[0],price:null!=e.price?String(e.price):"0",location:[e.sector,e.district].filter(Boolean).join(", "),status:null!=(r=e.listingType)?r:"For Sale",propertyType:e.propertyType,bedrooms:null!=(s=e.bedrooms)?s:0,bathrooms:null!=(o=e.bathrooms)?o:0,sizeSqm:null!=(l=e.landSize)?l:void 0,selectedCurrency:null!=(c=e.currency)?c:"RWF",exchangeRate:1,plots:e.plots})},e.id)})}),!c&&n.length>0&&(0,i.jsx)(l.A,{sx:{fontFamily:'"Plus Jakarta Sans", sans-serif',fontSize:"11px",color:"#cbd5e1",textAlign:"center",mt:3},children:"Recommendations based on property type, location & price range"})]}):null};var el=n(63551),ec=n(84518),ex=n(77747),ed=n(60129),ep=n(2836);let ef=[{id:"a1",label:"Plan A1",discount:.05,down:.1,months:28,kind:"installment"},{id:"a2",label:"Plan A2",discount:.1,down:.2,months:28,kind:"installment"},{id:"a3",label:"Plan A3",discount:.15,down:.3,months:28,kind:"installment"},{id:"b",label:"Investor Plan",discount:.4,down:0,months:6,kind:"lump",investor:!0}];function eh(e,t){return"RWF"===t?"RWF ".concat(Math.round(e).toLocaleStr
1ing("en-US")):new Intl.NumberFormat("en-US",{style:"currency",currency:t,maximumFractionDigits:0}).format(e)}let eg=e=>{let{label:t,value:n}=e;return(0,i.jsxs)(o.A,{display:"flex",justifyContent:"space-between",alignItems:"flex-start",gap:2,py:1.3,sx:{borderBottom:"1px solid #f0f5f3"},children:[(0,i.jsx)(l.A,{sx:{fontFamily:'"Plus Jakarta Sans",sans-serif',fontSize:"13px",color:"#64748b",fontWeight:500},children:t}),(0,i.jsx)(l.A,{sx:{fontFamily:'"Plus Jakarta Sans",sans-serif',fontSize:"13px",color:"#0c1a14",fontWeight:700,textAlign:"right"},children:n})]})},eu=e=>{var t;let{price:n,currencyLabel:r,reservationFee:s=2e3}=e,[c,x]=(0,a.useState)("a1"),[d,p]=(0,a.useState)(String(Math.round(n)));(0,a.useEffect)(()=>{p(String(Math.round(n)))},[n]);let f=parseFloat(d),h=!d||isNaN(f)||f<0?n:f,g=null!=(t=ef.find(e=>e.id===c))?t:ef[0],u=function(e,t,n){let i=t*(1-e.discount);if("installment"===e.kind){let t=i*e.down,a=Math.max(t-n,0),r=.01*i,s=r*e.months;return{discounted:i,downPayment:t,downPaymentRemaining:a,monthly:r,totalInstall:s,balance:i-t-s}}let a=Math.max(i-n,0);return{discounted:i,downPayment:0,downPaymentRemaining:0,monthly:0,totalInstall:0,balance:a}}(g,h,s);return(0,i.jsxs)(o.A,{sx:{background:"#fff",borderRadius:"24px",border:"1px solid #e8eef0",p:{xs:"20px",sm:"28px"},mb:"14px",boxShadow:"0 2px 20px rgba(15,118,110,0.05)"},children:[(0,i.jsxs)(o.A,{display:"flex",alignItems:"center",gap:1.4,mb:2.5,children:[(0,i.jsx)(o.A,{sx:{width:32,height:32,borderRadius:"10px",background:"linear-gradient(135deg,#0d9488,#0f766e)",display:"flex",alignItems:"center",justifyContent:"center",color:"#fff",flexShrink:0,boxShadow:"0 4px 12px rgba(15,118,110,0.3)"},children:(0,i.jsx)(ep.A,{sx:{fontSize:15}})}),(0,i.jsx)(l.A,{sx:{fontFamily:'"Plus Jakarta Sans",sans-serif',fontWeight:800,fontSize:"15px",color:"#0c1a14",letterSpacing:"-0.01em"},children:"Payment Plan Calculator"})]}),(0,i.jsxs)(o.A,{mb:2.5,children:[(0,i.jsx)(l.A,{sx:{fontFamily:'"Plus Jakarta Sans",sans-serif',fontSize:"11px",color:"#94a3b8",fontWeight:700,textTransform:"uppercase",letterSpacing:"0.06em",mb:.8},children:"Asking price — edit to try a different price"}),(0,i.jsxs)(o.A,{sx:{display:"flex",alignItems:"center",borderRadius:"12px",border:"1.5px solid #e8eef0",background:"#f8fafb",px:1.8,py:.4,"&:focus-within":{borderColor:"#0f766e",background:"#fff"},transition:"all 0.15s ease"},children:[(0,i.jsx)(l.A,{sx:{fontFamily:'"Plus Jakarta Sans",sans-serif',fontSize:"17px",fontWeight:800,color:"#94a3b8",mr:.6},children:r}),(0,i.jsx)(ed.Ay,{type:"number",value:d,onChange:e=>p(e.target.value),placeholder:String(Math.round(n)),inputProps:{min:0,step:1},sx:{flex:1,fontFamily:'"Plus Jakarta Sans",sans-serif',fontSize:"20px",fontWeight:800,color:"#0c1a14",py:1,"& input":{textAlign:"right"}}})]})]}),(0,i.jsx)(o.A,{display:"flex",gap:1,mb:2.5,flexWrap:"wrap",children:ef.map(e=>{let t=e.id===c;return(0,i.jsxs)(o.A,{onClick:()=>x(e.id),sx:{cursor:"pointer",px:1.8,py:.9,borderRadius:"12px",border:t?e.investor?"1.5px solid #d97706":"1.5px solid #0f766e":"1.5px solid #e8eef0",background:t?e.investor?"rgba(217,119,6,0.08)":"rgba(15,118,110,0.07)":"#fff",transition:"all 0.15s ease","&:hover":{transform:"translateY(-1px)"}},children:[(0,i.jsx)(l.A,{sx:{fontFamily:'"Plus Jakarta Sans",sans-serif',fontSize:"12px",fontWeight:800,color:t?e.investor?"#d97706":"#0f766e":"#334155",lineHeight:1.2},children:e.label}),(0,i.jsxs)(l.A,{sx:{fontFamily:'"Plus Jakarta Sans",sans-serif',fontSize:"10px",color:t?e.investor?"#b45309":"#0d9488":"#94a3b8",fontWeight:600},children:[Math.round(100*e.discount),"% off"]})]},e.id)})}),(0,i.jsxs)(o.A,{sx:{display:"flex",alignItems:"flex-start",gap:1,background:"rgba(15,118,110,0.06)",border:"1px solid rgba(15,118,110,0.18)",borderRadius:"10px",px:1.6,py:1.2,mb:2.5},children:[(0,i.jsx)(X.A,{sx:{fontSize:15,color:"#0f766e",mt:"2px",flexShrink:0}}),(0,i.jsxs)(l.A,{sx:{fontFamily:'"Plus Jakarta Sans",sans-serif',fontSize:"12px",color:"#0f4c46",lineHeight:1.6},children:[(0,i.jsxs)("strong",{children:[eh(s,r)," reservation fee"]})," holds the unit and is ",(0,i.jsx)("strong",{children:"non-refundable"})," if the buyer withdraws. If the purchase proceeds, it counts toward the down payment / balance below."]})]}),"installment"===g.kind?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(eg,{label:"Discounted price",value:eh(u.discounted,r)}),(0,i.jsx)(eg,{label:"Down payment (".concat(Math.round(100*g.down),"%)"),value:eh(u.downPayment,r)}),(0,i.jsx)(eg,{label:"− Reservation fee (already paid)",value:"-".concat(eh(Math.min(s,u.downPayment),r))}),(0,i.jsx)(eg,{label:"Remaining down payment due",value:eh(u.downPaymentRemaining,r)}),(0,i.jsx)(eg,{label:"Monthly \xd7 ".concat(g.months," mo."),value:"".concat(eh(u.monthly,r)," (total ").concat(eh(u.totalInstall,r),")")}),(0,i.jsxs)(o.A,{display:"flex",justifyContent:"space-between",alignItems:"center",pt:1.8,children:[(0,i.jsx)(l.A,{sx:{fontFamily:'"Plus Jakarta Sans",sans-serif',fontSize:"13px",fontWeight:700,color:"#0c1a14"},children:"Balance at handover"}),(0,i.jsx)(l.A,{sx:{fontFamily:'"Plus Jakarta Sans",sans-serif',fontSize:"16px",fontWeight:900,color:"#0f766e"},children:eh(u.balance,r)})]})]}):(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(eg,{label:"Original price",value:eh(h,r)}),(0,i.jsx)(eg,{label:"Discount (40%)",value:"-".concat(eh(.4*h,r))}),(0,i.jsx)(eg,{label:"− Reservation fee (already paid)",value:"-".concat(eh(s,r))}),(0,i.jsxs)(o.A,{display:"flex",justifyContent:"space-between",alignItems:"center",pt:1.8,pb:1.5,children:[(0,i.jsx)(l.A,{sx:{fontFamily:'"Plus Jakarta Sans",sans-serif',fontSize:"13px",fontWeight:700,color:"#0c1a14"},children:"Remaining balance due"}),(0,i.jsx)(l.A,{sx:{fontFamily:'"Plus Jakarta Sans",sans-serif',fontSize:"16px",fontWeight:900,color:"#d97706"},children:eh(u.balance,r)})]}),(0,i.jsx)(o.A,{sx:{background:"rgba(217,119,6,0.06)",border:"1px solid rgba(217,119,6,0.2)",borderRadius:"10px",px:1.6,py:1.2},children:(0,i.jsxs)(l.A,{sx:{fontFamily:'"Plus Jakarta Sans",sans-serif',fontSize:"12px",color:"#92400e",lineHeight:1.6},children:["No monthly installments. Remaining balance due within a maximum of 6 months. This 40% discount is confirmed for ",(0,i.jsx)("strong",{children:"July 2026 only"})," — confirm the rate with Reportage Africa before quoting past July 31, 2026."]})})]}),(0,i.jsx)(l.A,{sx:{fontFamily:'"Plus Jakarta Sans",sans-serif',fontSize:"11px",color:"#94a3b8",mt:2},children:"Estimate only — confirm final figures with your Hills Props advisor before signing."})]})};var em=n(17790),eb=n(46682),ey=n(82104),eS=n(60556),ej=n(13349);let eA={navyGrad:"linear-gradient(135deg,#071a10 0%,#0c2e22 50%,#0f3d30 100%)",teal:"#14b8a6",tealDark:"#0f766e",surface:"#f4f8f5",border:"#e8eef0",text:"#0c1a14",secondary:"#64748b",muted:"#94a3b8"},ek='"Plus Jakarta Sans",sans-serif',ev=.97-.03*.18,ew=e=>e.replace(/[^0-9]/g,""),ez=e=>
1""===e?"":Number(e).toLocaleString("en-US"),eF=(e,t)=>{let n=e.replace(/,/g,".").replace(/[^0-9.]/g,"");if(t<=0)return n.replace(/\./g,"");let[i,...a]=n.split(".");return a.length?"".concat(i,".").concat(a.join("").slice(0,t)):i},eP=(e,t)=>{let n=Math.pow(10,t);return Math.round(e*n)/n},eW={fontFamily:ek,fontSize:"10px",fontWeight:800,color:eA.secondary,textTransform:"uppercase",letterSpacing:"0.06em"},eI={width:30,height:30,borderRadius:"9px",background:"#f0fdf9",border:"1px solid rgba(15,118,110,0.2)",color:eA.tealDark,flexShrink:0,"&:hover":{background:"#dcfce7"},"&.Mui-disabled":{opacity:.4,color:eA.tealDark}},eR={fontFamily:ek,fontSize:"16px",fontWeight:900,color:eA.text,background:eA.surface,borderRadius:"11px",border:"1px solid ".concat(eA.border),px:1.5,py:1.1},eC=e=>{let{label:t,value:n,unit:r,step:s,min:c,max:x,decimals:d=0,onChange:p}=e,f=e=>Math.min(x,Math.max(c,e)),h=e=>String(eP(e,d)),[u,m]=(0,a.useState)(h(n));(0,a.useEffect)(()=>{m(e=>parseFloat(e)===n?e:h(n))},[n,d]);let b=e=>{let t=eF(e,d),n=parseFloat(t);if(""===t||isNaN(n))return void m(t);if(n>x){m(h(x)),p(x);return}m(t),n>=c&&p(n)},y=e=>p(f(eP(n+e*s,d)));return(0,i.jsxs)(o.A,{sx:{flex:1,minWidth:0,display:"flex",flexDirection:"column",gap:.7},children:[(0,i.jsx)(l.A,{sx:eW,children:t}),(0,i.jsxs)(o.A,{sx:{display:"flex",alignItems:"center",gap:.7},children:[(0,i.jsx)(g.A,{size:"small","aria-label":"Decrease ".concat(t),disabled:n<=c,onClick:()=>y(-1),sx:eI,children:(0,i.jsx)(ej.A,{sx:{fontSize:15}})}),(0,i.jsxs)(o.A,{sx:{flex:1,display:"flex",alignItems:"center",justifyContent:"center",gap:.4,background:eA.surface,borderRadius:"9px",border:"1px solid ".concat(eA.border),height:30,px:.8,minWidth:0},children:[(0,i.jsx)(ed.Ay,{value:u,onChange:e=>b(e.target.value),onBlur:()=>{let e=parseFloat(u),t=isNaN(e)?n:f(eP(e,d));p(t),m(h(t))},inputProps:{inputMode:d>0?"decimal":"numeric","aria-label":t,style:{fontFamily:ek,fontSize:"13px",fontWeight:800,color:eA.text,textAlign:"right",padding:0,width:"100%"}},sx:{flex:1,minWidth:0}}),(0,i.jsx)(l.A,{sx:{fontFamily:ek,fontSize:"11px",fontWeight:700,color:eA.muted,flexShrink:0},children:r})]}),(0,i.jsx)(g.A,{size:"small","aria-label":"Increase ".concat(t),disabled:n>=x,onClick:()=>y(1),sx:eI,children:(0,i.jsx)(eS.A,{sx:{fontSize:15}})})]})]})},eT=e=>{let{price:t,currencyLabel:n}=e,[r,s]=(0,a.useState)(!0),[c,x]=(0,a.useState)(ew(String(Math.round(t||0)))),[d,p]=(0,a.useState)(20),[f,h]=(0,a.useState)(16.5),[g,u]=(0,a.useState)(10),[m,b]=(0,a.useState)(String(6e5));(0,a.useEffect)(()=>{x(ew(String(Math.round(t||0)))),b(String(6e5))},[t,n]);let y=(0,a.useMemo)(()=>Number(c)||0,[c]),S=Math.max(y*(1-d/100),0),j=(0,a.useMemo)(()=>{var e;return Math.round((e=S)<=0?0:.0234555*e/(ev-.0234555))},[S]),A=null!==m,k=A?Number(m)||0:j,{downPayment:v,netLoan:w,bankFee:z,vat:F,insurance:P,grossLoan:W,monthlyPayment:I,totalPayment:R,totalInterest:C}=(0,a.useMemo)(()=>(function(e){let t=Math.max(e.price||0,0),n=Math.min(Math.max(e.downPct||0,0),100)/100*t,i=Math.max(t-n,0);if(i<=0)return{downPayment:n,netLoan:0,bankFee:0,vat:0,insurance:0,grossLoan:0,monthlyPayment:0,totalPayment:0,totalInterest:0};let a=Math.max(e.insurance||0,0),r=(i+a)/ev,s=.03*r,o=Math.round(12*Math.max(e.years||0,0)),l=Math.max(e.annualRatePct||0,0)/100/12,c=0;if(o>0)if(0===l)c=r/o;else{let e=Math.pow(1+l,o);c=r*l*e/(e-1)}isFinite(c)||(c=0);let x=c*o,d=Math.max(x-r,0);return{downPayment:n,netLoan:i,bankFee:s,vat:.18*s,insurance:a,grossLoan:r,monthlyPayment:c,totalPayment:x,totalInterest:d}})({price:y,downPct:d,annualRatePct:f,years:g,insurance:k}),[y,d,f,g,k]),T=e=>(function(e,t){if(!isFinite(e))return"—";if("RWF"===t)return"RWF ".concat(Math.round(e).toLocaleString("en-US"));try{return new Intl.NumberFormat("en-US",{style:"currency",currency:t,maximumFractionDigits:0}).format(e)}catch(n){return"".concat(t," ").concat(Math.round(e).toLocaleString("en-US"))}})(e,n),J=()=>s(e=>!e);return(0,i.jsxs)(o.A,{sx:{background:"#fff",borderRadius:"24px",border:"1px solid ".concat(eA.border),overflow:"hidden",mb:"14px",boxShadow:"0 2px 20px rgba(15,118,110,0.05)"},children:[(0,i.jsxs)(o.A,{role:"button",tabIndex:0,"aria-expanded":r,onClick:J,onKeyDown:e=>
1{("Enter"===e.key||" "===e.key)&&(e.preventDefault(),J())},sx:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:1.5,p:{xs:"16px",sm:"28px"},cursor:"pointer","&:hover":{background:"rgba(15,118,110,0.02)"},"&:focus-visible":{outline:"2px solid ".concat(eA.teal),outlineOffset:"-2px"}},children:[(0,i.jsxs)(o.A,{sx:{display:"flex",alignItems:"center",gap:1.4,minWidth:0},children:[(0,i.jsx)(o.A,{sx:{width:32,height:32,borderRadius:"10px",background:"linear-gradient(135deg,#0d9488,#0f766e)",display:"flex",alignItems:"center",justifyContent:"center",color:"#fff",flexShrink:0,boxShadow:"0 4px 12px rgba(15,118,110,0.3)"},children:(0,i.jsx)(em.A,{sx:{fontSize:15}})}),(0,i.jsxs)(o.A,{sx:{minWidth:0},children:[(0,i.jsx)(l.A,{sx:{fontFamily:ek,fontWeight:800,fontSize:"15px",color:eA.text,letterSpacing:"-0.01em"},children:"Mortgage Calculator"}),(0,i.jsx)(l.A,{sx:{fontFamily:ek,fontSize:"11.5px",color:eA.secondary,mt:"2px",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:r?"Estimate your monthly payments":"Est. ".concat(T(I),"/mo \xb7 ").concat(g,"yr \xb7 ").concat(d,"% down \xb7 ").concat(f,"%")})]})]}
1),r?(0,i.jsx)(eb.A,{sx:{fontSize:22,color:eA.tealDark,flexShrink:0}}):(0,i.jsx)(ey.A,{sx:{fontSize:22,color:eA.tealDark,flexShrink:0}})]}),r&&(0,i.jsxs)(o.A,{sx:{px:{xs:"16px",sm:"28px"},pb:{xs:"16px",sm:"28px"},display:"flex",flexDirection:"column",gap:1.8},children:[(0,i.jsxs)(o.A,{sx:{display:"flex",flexDirection:"column",gap:.7},children:[(0,i.jsxs)(l.A,{sx:eW,children:["Property Price (",n,")"]}),(0,i.jsx)(ed.Ay,{value:ez(c),onChange:e=>x(ew(e.target.value)),inputProps:{inputMode:"numeric","aria-label":"Property price"},sx:eR})]}),(0,i.jsxs)(o.A,{sx:{display:"flex",gap:1.2},children:[(0,i.jsx)(eC,{label:"Down Payment",value:d,unit:"%",step:5,min:0,max:100,onChange:p}),(0,i.jsx)(eC,{label:"Interest Rate",value:f,unit:"%",step:.5,min:0,max:40,decimals:2,onChange:h})]}),(0,i.jsxs)(o.A,{sx:{display:"flex",gap:1.2},children:[(0,i.jsx)(eC,{label:"Loan Term",value:g,unit:"yrs",step:1,min:1,max:30,onChange:u}),(0,i.jsx)(o.A,{sx:{flex:1}})]}),(0,i.jsxs)(o.A,{sx:{mt:.3,pt:1.3,borderTop:"1px solid ".concat(eA.border)},children:[(0,i.jsxs)(o.A,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:1,mb:.6,maxWidth:"240px"},children:[(0,i.jsx)(l.A,{sx:{fontFamily:ek,fontSize:"10px",fontWeight:700,color:eA.secondary,lineHeight:1.2},children:"Credit-Life Insurance"}),(0,i.jsx)(l.A,{sx:{fontFamily:ek,fontSize:"9px",fontWeight:700,color:eA.muted,whiteSpace:"nowrap"},children:n})]}),(0,i.jsxs)(o.A,{sx:{display:"flex",alignItems:"center",gap:1,maxWidth:"240px"},children:[(0,i.jsx)(ed.Ay,{value:A?ez(null!=m?m:""):ez(String(j)),onChange:e=>b(ew(e.target.value)),inputProps:{inputMode:"numeric","aria-label":"Credit-life insurance amount"},sx:{...eR,flex:1,minWidth:0,height:"34px",minHeight:"34px",fontSize:"12px","& input":{p:"7px 10px",fontFamily:ek,fontSize:"12px",fontWeight:700}}}),A?(0,i.jsx)(l.A,{component:"button",type:"button",onClick:()=>b(null),sx:{fontFamily:ek,fontSize:"9.5px",fontWeight:700,color:eA.tealDark,background:"none",border:0,p:0,cursor:"pointer",whiteSpace:"nowrap","&:hover":{textDecoration:"underline"}},children:"Reset"}):(0,i.jsx)(l.A,{sx:{fontFamily:ek,fontSize:"9.5px",fontWeight:600,color:eA.muted,whiteSpace:"nowrap"},children:"Estimated"})]})]}),(0,i.jsxs)(o.A,{sx:{background:eA.navyGrad,borderRadius:"16px",p:{xs:2,sm:2.4},mt:.3},children:[(0,i.jsx)(l.A,{sx:{fontFamily:ek,fontSize:"9.5px",color:"rgba(255,255,255,0.4)",fontWeight:800,letterSpacing:"1.5px",mb:.6},children:"ESTIMATED MONTHLY PAYMENT"}),(0,i.jsx)(l.A,{sx:{fontFamily:ek,fontSize:{xs:"24px",sm:"28px"},color:"#fff",fontWeight:900,letterSpacing:"-0.02em",mb:1.8},children:T(I)}),(0,i.jsx)(o.A,{sx:{display:"grid",gridTemplateColumns:"repeat(2, 1fr)",gap:1.4},children:[{label:"Down Payment",value:v},{label:"Net Loan",value:w},{label:"Bank Fee (3%)",value:z},{label:"VAT on Fee (18%)",value:F},{label:"Credit-Life Insurance",value:P},{label:"Gross Loan",value:W},{label:"Total Interest",value:C},{label:"Total Payment",value:R}].map(e=>(0,i.jsxs)(o.A,{sx:{minWidth:0},children:[(0,i.jsx)(l.A,{sx:{fontFamily:ek,fontSize:"9px",color:"rgba(255,255,255,0.4)",fontWeight:700,textTransform:"uppercase",letterSpacing:"0.05em",mb:.3},children:e.label}),(0,i.jsx)(l.A,{sx:{fontFamily:ek,fontSize:"13px",color:"rgba(255,255,255,0.92)",fontWeight:800,overflowWrap:"anywhere"},children:T(e.value)})]},e.label))})]}),(0,i.jsxs)(l.A,{sx:{fontFamily:ek,fontSize:"10.5px",color:eA.muted,textAlign:"center",lineHeight:1.5},children:["Gross loan = (net loan + insurance) \xf7 ",ev.toFixed(4),". This is an estimate only; actual rates and terms depend on your lender and eligibility."]})]})]})};var eJ=n(9335),eM=n(34434),eD=n(54750);let eH=[{provider:"ZIGAMA CSS",product:"Mortgage Loan",rate:"10–15%",financing:"Up to 80%",term:"20 yrs",logo:"/images/banks/zigama-css.png"},{provider:"BPR Bank",product:"Affordable Housing",rate:"11%",financing:"Up to 100%",term:"25 yrs",logo:"/images/banks/bpr-bank.png"},{provider:"BPR Bank",product:"Diaspora Mortgage",rate:"15.5%",financing:"Up to 75%",term:"15 yrs",logo:"/images/banks/bpr-bank.png"},{provider:"NCBA Rwanda",product:"Residential Mortgage",rate:"Up to 16%",financing:"Up to 80%",term:"20 yrs",logo:"/images/banks/ncba-rwanda.png"},{provider:"Equity Bank Rwanda",product:"Diaspora Mortgage",rate:"15–18%",financing:"Up to 80%",term:"15 yrs",logo:"/images/banks/equity-bank-rwanda.png"},{provider:"Bank of Kigali",product:"Home Purchase Loan",rate:"—",financing:"Up to 100%",logo:"/images/banks/bank-of-kigali.png"}],eN={teal:"#14b8a6",tealDark:"#0f766e",tealPale:"#f0fdf9",surface:"#f4f8f5",border:"#e8eef0",text:"#0c1a14",secondary:"#64748b",muted:"#94a3b8"},eE='"Plus Jakarta Sans",sans-serif',eL=e=>{let t=e.match(/(\d+(?:\.\d+)?)\s*%/);return t?Math.min(Number(t[1]),100):null},eB=e=>{var t;let n=(null!=(t=e.match(/\d+(?:\.\d+)?/g))?t:[]).map(Number);return n.length?Math.min(...n):null},eO=(()=>{let e=eH.map(e=>eB(e.rate)).filter(e=>null!==e);return e.length?Math.min(...e):null})(),eU={fontFamily:eE,fontSize:"9.5px",fontWeight:800,color:eN.muted,textTransform:"uppercase",letterSpacing:"0.07em"},e_=e=>{let{name:t,src:n}=e,[r,s]=(0,a.useState)(!1),l=!!n&&!r;return(0,i.jsx)(o.A,{sx:{position:"relative",width:46,height:46,flexShrink:0,borderRadius:"14px",overflow:"hidden",background:"#fff",border:"1px solid ".concat(eN.border),boxShadow:"0 0 0 3px #f8fafc, 0 2px 6px rgba(15,23,42,0.06)",display:"flex",alignItems:"center",justifyContent:"center",transition:"box-shadow 0.25s ease, border-color 0.25s ease",".bank-card:hover &":{borderColor:"rgba(20,184,166,0.35)",boxShadow:"0 0 0 3px rgba(20,184,166,0.1), 0 2px 6px rgba(15,23,42,0.06)"}},children:l?(0,i.jsx)(o.A,{component:"img",src:n,alt:"".concat(t," logo"),loading:"lazy",onError:()=>s(!0),sx:{width:"100%",height:"100%",objectFit:"contain",p:"6px",display:"block"}}):(0,i.jsx)(o.A,{"aria-hidden":"true",sx:{position:"absolute",inset:0,display:"flex",alignItems:"center",justifyContent:"center",background:"linear-gradient(135deg,#0d9488,#065f46)",color:"#fff",fontFamily:eE,fontWeight:800,fontSize:"18px"},children:t.trim().charAt(0).toUpperCase()})})},eG=e=>{var t;let{p:n}=e,a=eL(n.financing),r="—"===n.rate;
1return(0,i.jsxs)(o.A,{className:"bank-card",sx:{display:"block",textDecoration:"none",color:"inherit",background:"#fff",border:"1px solid ".concat(eN.border),borderRadius:"18px",p:{xs:"14px",sm:"16px"},transition:"transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease","&:hover":{transform:"translateY(-2px)",borderColor:"rgba(20,184,166,0.35)",boxShadow:"0 12px 28px -14px rgba(15,118,110,0.4)"},"&:focus-visible":{outline:"2px solid ".concat(eN.teal),outlineOffset:"2px"}},children:[(0,i.jsxs)(o.A,{sx:{display:"flex",alignItems:"center",gap:1.5},children:[(0,i.jsx)(e_,{name:n.provider,src:n.logo}),(0,i.jsxs)(o.A,{sx:{minWidth:0,flex:1},children:[(0,i.jsx)(l.A,{sx:{fontFamily:eE,fontSize:"14.5px",fontWeight:800,color:eN.text,letterSpacing:"-0.01em",lineHeight:1.3,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:n.provider}),n.product&&(0,i.jsx)(l.A,{sx:{fontFamily:eE,fontSize:"12px",fontWeight:600,color:eN.secondary,mt:"2px",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:n.product})]}),(0,i.jsxs)(o.A,{sx:{textAlign:"right",flexShrink:0},children:[(0,i.jsx)(l.A,{sx:{...eU,mb:"3px"},children:"Rate"}),(0,i.jsx)(o.A,{component:"span",sx:{display:"inline-block",fontFamily:eE,fontSize:"13.5px",fontWeight:900,whiteSpace:"nowrap",px:1.2,py:.4,borderRadius:"999px",color:r?eN.muted:eN.tealDark,background:r?"#f1f5f9":eN.tealPale,border:r?"1px solid #e2e8f0":"1px solid rgba(15,118,110,0.18)"},children:n.rate})]})]}),(0,i.jsxs)(o.A,{sx:{display:"grid",gridTemplateColumns:"1fr 1fr",alignItems:"stretch",gap:1,mt:1.5},children:[(0,i.jsxs)(o.A,{sx:{background:eN.surface,borderRadius:"12px",px:1.3,py:1,minWidth:0},children:[(0,i.jsx)(l.A,{sx:eU,children:"Financing"}),(0,i.jsx)(l.A,{sx:{fontFamily:eE,fontSize:"12.5px",fontWeight:800,color:null===a?eN.secondary:eN.text,mt:"2px",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:n.financing}),null!==a&&(0,i.jsx)(o.A,{sx:{mt:.7,height:4,borderRadius:99,background:"#e2e8f0",overflow:"hidden"},children:(0,i.jsx)(o.A,{sx:{width:"".concat(a,"%"),height:"100%",borderRadius:99,background:"linear-gradient(90deg,#14b8a6,#059669)"}})})]}),(0,i.jsxs)(o.A,{sx:{background:eN.surface,borderRadius:"12px",px:1.3,py:1,minWidth:0},children:[(0,i.jsx)(l.A,{sx:eU,children:"Term"}),(0,i.jsx)(l.A,{sx:{fontFamily:eE,fontSize:"12.5px",fontWeight:800,color:n.term?eN.text:eN.muted,mt:"2px",whiteSpace:"nowrap"},children:n.term||"—"})]})]}),(0,i.jsx)(o.A,{component:"span",sx:{position:"absolute",width:1,height:1,overflow:"hidden",clip:"rect(0 0 0 0)",whiteSpace:"nowrap"},children:" ".concat(n.provider," ").concat(null!=(t=n.product)?t:""," (opens in a new tab)")})]})},eY=()=>{let[e,t]=(0,a.useState)(!1),n=e?eH:eH.slice(0,6);return(0,i.jsxs)(o.A,{component:"section","aria-labelledby":"mortgage-options-title",sx:{background:"#fff",borderRadius:"24px",border:"1px solid ".concat(eN.border),overflow:"hidden",mb:"14px",boxShadow:"0 2px 20px rgba(15,118,110,0.05)"},children:[(0,i.jsxs)(o.A,{sx:{position:"relative",overflow:"hidden",p:{xs:"16px",sm:"24px 28px"},borderBottom:"1px solid ".concat(eN.border),background:"linear-gradient(135deg, rgba(240,253,249,0.9) 0%, #fff 70%)"},children:[(0,i.jsx)(o.A,{"aria-hidden":"true",sx:{position:"absolute",top:-70,right:-50,width:180,height:180,borderRadius:"50%",background:"rgba(20,184,166,0.12)",filter:"blur(40px)",pointerEvents:"none"}}),(0,i.jsxs)(o.A,{sx:{position:"relative",display:"flex",alignItems:"flex-start",gap:1.4},children:[(0,i.jsx)(o.A,{sx:{width:36,height:36,borderRadius:"11px",background:"linear-gradient(135deg,#0d9488,#0f766e)",display:"flex",alignItems:"center",justifyContent:"center",color:"#fff",flexShrink:0,boxShadow:"0 4px 12px rgba(15,118,110,0.3)"},children:(0,i.jsx)(em.A,{sx:{fontSize:17}})}),(0,i.jsxs)(o.A,{sx:{minWidth:0},children:[(0,i.jsx)(l.A,{id:"mortgage-options-title",component:"h2",sx:{fontFamily:eE,fontWeight:800,fontSize:"15px",color:eN.text,letterSpacing:"-0.01em"},children:"Mortgage Options"}),(0,i.jsx)(l.A,{sx:{fontFamily:eE,fontSize:"12px",color:eN.secondary,mt:"2px",lineHeight:1.5},children:"Compare mortgage options from financial institutions in Rwanda."})]})]}),(0,i.jsxs)(o.A,{sx:{position:"relative",display:"flex",flexWrap:"wrap",gap:1,mt:1.6}
1,children:[(0,i.jsxs)(o.A,{component:"span",sx:{display:"inline-flex",alignItems:"center",gap:.7,fontFamily:eE,fontSize:"11.5px",fontWeight:700,color:"#334155",background:"#fff",border:"1px solid ".concat(eN.border),borderRadius:"999px",px:1.3,py:.5},children:[(0,i.jsx)(o.A,{sx:{width:6,height:6,borderRadius:"50%",background:eN.teal}}),eH.length," offers"]}),null!==eO&&(0,i.jsxs)(o.A,{component:"span",sx:{display:"inline-flex",alignItems:"center",fontFamily:eE,fontSize:"11.5px",fontWeight:800,color:"#fff",background:eN.tealDark,borderRadius:"999px",px:1.3,py:.5,boxShadow:"0 4px 10px rgba(15,118,110,0.25)"},children:["Rates from ",eO,"%"]})]})]}),(0,i.jsx)(o.A,{component:"ul",sx:{listStyle:"none",m:0,p:{xs:"12px",sm:"16px 20px"},display:"flex",flexDirection:"column",gap:1.2},children:n.map(e=>(0,i.jsx)(o.A,{component:"li",sx:{position:"relative"},children:(0,i.jsx)(eG,{p:e})},"".concat(e.provider,"-").concat(e.product)))}),eH.length>6&&(0,i.jsx)(o.A,{sx:{display:"flex",justifyContent:"center",pb:2,px:2},children:(0,i.jsxs)(eM.A,{onClick:()=>t(e=>!e),"aria-expanded":e,sx:{display:"inline-flex",alignItems:"center",gap:.6,minHeight:44,px:2.5,borderRadius:"999px",fontFamily:eE,fontSize:"13px",fontWeight:800,color:"#334155",background:eN.surface,border:"1px solid ".concat(eN.border),transition:"all 0.2s ease","&:hover":{background:eN.tealPale,color:eN.tealDark,borderColor:"rgba(15,118,110,0.25)"}},children:[e?"Show Less":"Show More (".concat(eH.length-6,")"),(0,i.jsx)(eb.A,{sx:{fontSize:18,transition:"transform 0.3s ease",transform:e?"rotate(180deg)":"none"}})]})}),(0,i.jsxs)(o.A,{sx:{display:"flex",alignItems:"flex-start",gap:1.2,borderTop:"1px solid ".concat(eN.border),background:"#fafcfb",p:{xs:"14px 16px",sm:"16px 28px"}},children:[(0,i.jsx)(eD.A,{sx:{fontSize:17,color:"#d97706",mt:"1px",flexShrink:0}}),(0,i.jsx)(l.A,{sx:{fontFamily:eE,fontSize:"11px",color:eN.secondary,lineHeight:1.6},children:"The displayed mortgage rates and financing terms are provided for guidance only and are not guaranteed or an approval of credit. Final interest rates, loan amounts, eligibility, fees and repayment terms are determined by each financial institution following its credit assessment."})]})]})},eq={teal:"#14b8a6",tealDark:"#0f766e",surface:"#f4f8f5",border:"#e8eef0",text:"#0c1a14",secondary:"#64748b",muted:"#94a3b8"},eV='"Plus Jakarta Sans",sans-serif',eX=/^[^\s@]+@[^\s@]+\.[^\s@]+$/,eK={iso:"RW",flag:"\uD83C\uDDF7\uD83C\uDDFC",dial:"250"},eZ={fontFamily:eV,fontSize:"10px",fontWeight:800,color:eq.secondary,textTransform:"uppercase",letterSpacing:"0.06em"},e$={fontFamily:eV,fontSize:"14px",fontWeight:600,color:eq.text,background:eq.surface,borderRadius:"11px",border:"1px solid ".concat(eq.border),px:1.5,py:1,width:"100%",boxSizing:"border-box"},eQ=e=>{let t=e.replace(/\D/g,"");return 12===t.length&&t.startsWith(eK.dial)&&(t=t.slice(eK.dial.length)),t=t.replace(/^0+/,""),/^7\d{8}$/.test(t)?t:null},e0=e=>{let{listingId:t}=e,[n,r]=(0,a.useState)(""),[s,c]=(0,a.useState)(""),[x,d]=(0,a.useState)(""),[p,f]=(0,a.useState)(!1),[h,g]=(0,a.useState)(!1),[u,m]=(0,a.useState)(null),b=()=>n.trim()?eQ(s)?x.trim()&&!eX.test(x.trim())?"Please enter a valid email address, or leave it empty.":null:"Please enter a valid Rwandan mobile number, for example 078 123 4567.":"Please enter your first and last name.",y=async e=>{if(e.preventDefault(),p)return;let i=b();if(i)return void m(i);let a=eQ(s);if(a){m(null),f(!0);try{await (0,ee.gS)((0,ee.rJ)(en.db,"mortgageLeads"),{fullName:n.trim(),phone:"+".concat(eK.dial).concat(a),phoneCountry:eK.iso,email:x.trim()?x.trim().toLowerCase():null,listingId:null!=t?t:null,source:"listing-mortgage-calculator",status:"new",createdAt:(0,ee.O5)()}),g(!0)}catch(e){console.error(e),m("Something went wrong. Please try again in a moment.")}finally{f(!1)}}};return(0,i.jsxs)(o.A,{sx:{background:"#fff",borderRadius:"24px",border:"1px solid ".concat(eq.border),p:{xs:"18px",sm:"28px"},mb:"14px",boxShadow:"0 2px 20px rgba(15,118,110,0.05)"},children:[(0,i.jsxs)(o.A,{display:"flex",alignItems:"center",gap:1.4,mb:1.2,children:[(0,i.jsx)(o.A,{sx:{width:32,height:32,borderRadius:"10px",background:"linear-gradient(135deg,#0d9488,#0f766e)",display:"flex",alignItems:"center",justifyContent:"center",color:"#fff",flexShrink:0,boxShadow:"0 4px 12px rgba(15,118,110,0.3)"},children:(0,i.jsx)(em.A,{sx:{fontSize:15}})}),(0,i.jsx)(l.A,{sx:{fontFamily:eV,fontWeight:800,fontSize:"15px",color:eq.text,letterSpacing:"-0.01em"},children:"Get Mortgage Guidance"})]}),(0,i.jsx)(l.A,{sx:{fontFamily:eV,fontSize:"12.5px",color:eq.secondary,lineHeight:1.6,mb:2.2},children:"Leave your details and our team will help you compare mortgage options for this property."}
1),h?(0,i.jsxs)(o.A,{role:"status",sx:{display:"flex",alignItems:"center",gap:1.2,p:2,borderRadius:"14px",background:"#ecfdf5",border:"1px solid #a7f3d0"},children:[(0,i.jsx)(o.A,{sx:{width:30,height:30,borderRadius:"50%",background:"#059669",display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0},children:(0,i.jsx)(H.A,{sx:{fontSize:17,color:"#fff"}})}),(0,i.jsx)(l.A,{sx:{fontFamily:eV,fontSize:"13px",fontWeight:700,color:"#065f46"},children:"Thank you! We have received your details and will contact you shortly."})]}):(0,i.jsx)(o.A,{component:"form",onSubmit:y,noValidate:!0,children:(0,i.jsxs)(o.A,{sx:{display:"flex",flexDirection:"column",gap:1.6},children:[(0,i.jsxs)(o.A,{sx:{display:"flex",flexDirection:"column",gap:.7},children:[(0,i.jsx)(l.A,{sx:eZ,children:"Full Name *"}),(0,i.jsx)(ed.Ay,{value:n,onChange:e=>r(e.target.value),placeholder:"First and last name",autoComplete:"name",inputProps:{"aria-label":"Full name",required:!0},sx:e$})]}),(0,i.jsxs)(o.A,{sx:{display:"grid",gridTemplateColumns:{xs:"1fr",sm:"1fr 1fr"},gap:1.6},children:[(0,i.jsxs)(o.A,{sx:{display:"flex",flexDirection:"column",gap:.7,minWidth:0},children:[(0,i.jsx)(l.A,{sx:eZ,children:"Phone *"}),(0,i.jsxs)(o.A,{sx:{display:"flex",alignItems:"center",background:eq.surface,borderRadius:"11px",border:"1px solid ".concat(eq.border),minWidth:0,overflow:"hidden","&:focus-within":{borderColor:eq.teal}},children:[(0,i.jsxs)(o.A,{"aria-label":"Country code: Rwanda +250",sx:{display:"inline-flex",alignItems:"center",gap:.6,px:1.4,py:1,flexShrink:0,borderRight:"1px solid ".concat(eq.border),fontFamily:eV,fontSize:"13px",fontWeight:700,color:eq.text,userSelect:"none"},children:[(0,i.jsx)("span",{style:{fontSize:"17px",lineHeight:1},children:eK.flag}),"+",eK.dial]}),(0,i.jsx)(ed.Ay,{value:s,onChange:e=>c(e.target.value.replace(/[^0-9 ()+\-]/g,"")),placeholder:"078 123 4567",type:"tel",autoComplete:"tel-national",inputProps:{"aria-label":"Phone number",inputMode:"tel",required:!0},sx:{flex:1,minWidth:0,fontFamily:eV,fontSize:"14px",fontWeight:600,color:eq.text,px:1.2,py:1,"& input":{p:0}}})]})]}),(0,i.jsxs)(o.A,{sx:{display:"flex",flexDirection:"column",gap:.7,minWidth:0},children:[(0,i.jsx)(l.A,{sx:eZ,children:"Email"}),(0,i.jsx)(ed.Ay,{value:x,onChange:e=>d(e.target.value),placeholder:"[email protected] (optional)",type:"email",autoComplete:"email",inputProps:{"aria-label":"Email address (optional)"},sx:e$})]})]}),u&&(0,i.jsx)(F.A,{severity:"error",sx:{borderRadius:"12px",fontFamily:eV,fontWeight:600},children:u}),(0,i.jsx)(j.A,{type:"submit",fullWidth:!0,disabled:p,sx:{fontFamily:eV,fontWeight:800,textTransform:"none",borderRadius:"14px",py:1.4,fontSize:"14px",color:"#fff",background:"linear-gradient(135deg, ".concat(eq.teal,", ").concat(eq.tealDark,")"),boxShadow:"0 4px 14px rgba(20,184,166,0.32)","&:hover":{background:"linear-gradient(135deg, ".concat(eq.teal,", ").concat(eq.tealDark,")"),filter:"brightness(1.06)"},"&.Mui-disabled":{color:"#fff",opacity:.7}},children:p?(0,i.jsx)(v.A,{size:20,thickness:4,sx:{color:"#fff"}}):"Request Mortgage Guidance"}),(0,i.jsx)(l.A,{sx:{fontFamily:eV,fontSize:"10.5px",color:eq.muted,lineHeight:1.5},children:"By submitting, you agree to be contacted by Hills Props about mortgage options for this property."})]})})]})},e1="+250788709927",e2={name:"Herv\xe9 Habiyakare",role:"Senior Property Advisor",phone:e1,whatsapp:e1,avatar:""},e5=["RWF","USD","EUR","CAD"],e4={xs:56,sm:64};function e8(e){let t=[];e.description&&t.push(e.description.slice(0,140));let n=[e.sector,e.district].filter(Boolean).join(", ");return n&&t.push("\uD83D\uDCCD ".concat(n)),null!=e.price&&t.push("\uD83D\uDCB0 ".concat(e.currency," ").concat(e.price.toLocaleString())),t.join(" \xb7 ")}function e6(e,t,n){var i,a;let r=null!=(i=ex.Mj[t])?i:1;return e*r/(null!=(a=ex.Mj[n])?a:1)}function e3(e,t){return"RWF"===t?"RWF ".concat(Math.round(e).toLocaleString("en-US")):new Intl.NumberFormat("en-US",{style:"currency",currency:t,maximumFractionDigits:0}).format(e)}
1let e7={width:42,height:42,borderRadius:"14px",background:"rgba(10,20,14,0.55)",backdropFilter:"blur(16px)",WebkitBackdropFilter:"blur(16px)",border:"1px solid rgba(255,255,255,0.18)",color:"#fff",transition:"all 0.2s ease","&:hover":{background:"rgba(20,184,166,0.45)",border:"1px solid rgba(20,184,166,0.6)",transform:"scale(1.06)"}},e9=e=>{let{upi:t}=e;return(0,i.jsx)(s.A,{title:"Full UPI visible after contacting the agent",arrow:!0,placement:"top",children:(0,i.jsxs)(o.A,{sx:{display:"inline-flex",alignItems:"center",gap:.6,px:1.4,py:.5,borderRadius:"9px",bgcolor:"rgba(15,118,110,0.07)",border:"1px solid rgba(15,118,110,0.18)",cursor:"default",userSelect:"none"},children:[(0,i.jsx)(X.A,{sx:{fontSize:12,color:"#0f766e",opacity:.75}}),(0,i.jsx)(l.A,{sx:{fontFamily:'"Plus Jakarta Sans",sans-serif',fontSize:"13px",fontWeight:700,color:"#0f766e",filter:"blur(4px)",letterSpacing:"0.1em",lineHeight:1},children:t})]})})},te=e=>{let{title:t,icon:n,children:a}=e;return(0,i.jsxs)(o.A,{sx:{background:"#fff",borderRadius:"24px",border:"1px solid #e8eef0",p:{xs:"16px",sm:"28px"},mb:"14px",boxShadow:"0 2px 20px rgba(15,118,110,0.05)"},children:[(0,i.jsxs)(o.A,{display:"flex",alignItems:"center",gap:1.4,mb:2.5,children:[(0,i.jsx)(o.A,{sx:{width:32,height:32,borderRadius:"10px",background:"linear-gradient(135deg,#0d9488,#0f766e)",display:"flex",alignItems:"center",justifyContent:"center",color:"#fff",flexShrink:0,boxShadow:"0 4px 12px rgba(15,118,110,0.3)"},children:n}),(0,i.jsx)(l.A,{sx:{fontFamily:'"Plus Jakarta Sans",sans-serif',fontWeight:800,fontSize:"15px",color:"#0c1a14",letterSpacing:"-0.01em"},children:t})]}),a]})},tt=e=>{let{label:t,value:n,children:a}=e;return n||a?(0,i.jsxs)(o.A,{display:"flex",justifyContent:"space-between",alignItems:"flex-start",gap:2,py:1.5,sx:{borderBottom:"1px solid #f0f5f3"},children:[(0,i.jsx)(l.A,{sx:{fontFamily:'"Plus Jakarta Sans",sans-serif',fontSize:"13px",color:"#64748b",fontWeight:500,flexShrink:0,minWidth:110},children:t}),null!=a?a:(0,i.jsx)(l.A,{sx:{fontFamily:'"Plus Jakarta Sans",sans-serif',fontSize:"13px",color:"#0c1a14",fontWeight:700,textAlign:"right",wordBreak:"break-word"},children:n})]}):null},tn=e=>{let{icon:t,label:n,value:a}=e;return(0,i.jsxs)(o.A,{sx:{display:"flex",flexDirection:"column",alignItems:"center",gap:.5,py:{xs:"14px",sm:"18px"},px:"8px",borderRadius:"18px",background:"#fff",border:"1px solid #e8eef0",boxShadow:"0 2px 12px rgba(15,118,110,0.06)",minWidth:0},children:[(0,i.jsx)(o.A,{sx:{color:"#0f766e"},children:t}),(0,i.jsx)(l.A,{sx:{fontFamily:'"Plus Jakarta Sans",sans-serif',fontWeight:900,fontSize:{xs:"15px",sm:"20px"},color:"#0c1a14",lineHeight:1},children:a}),(0,i.jsx)(l.A,{sx:{fontFamily:'"Plus Jakarta Sans",sans-serif',fontSize:{xs:"8px",sm:"9px"},color:"#94a3b8",fontWeight:700,textTransform:"uppercase",letterSpacing:"0.7px",lineHeight:1,textAlign:"center"},children:n})]})},ti=e=>{let{plots:t,currency:n,displayCurrency:a}=e,r=e=>e3(e6(e,n,a),a),s=t.map(e=>e6(e.price,n,a)),g=Math.min(...s),u=Math.max(...s),m=t.some(e=>e.unitNo),b=t.some(e=>e.upi),y=t.some(e=>e.unitType),S=t.some(e=>e.view),j=m?"Available Units (".concat(t.length,")"):"Available Plots (".concat(t.length,")"),A=[m?"Unit":"#",...y?["Type"]:[],...S?["View"]:[],...b?["UPI"]:[],"Size (m\xb2)","Price"];return(0,i.jsxs)(te,{title:j,icon:(0,i.jsx)(q.A,{sx:{fontSize:15}}),children:[(0,i.jsxs)(o.A,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between",mb:2,px:1.5,py:1,borderRadius:"12px",bgcolor:"rgba(15,118,110,0.06)",border:"1px solid rgba(15,118,110,0.12)",flexWrap:"wrap",gap:.6},children:[(0,i.jsx)(l.A,{sx:{fontFamily:'"Plus Jakarta Sans",sans-serif',fontSize:"12px",color:"#64748b",fontWeight:600},children:"Price range"}),(0,i.jsxs)(l.A,{sx:{fontFamily:'"Plus Jakarta Sans",sans-serif',fontSize:"13px",fontWeight:800,color:"#0f766e"},children:[e3(g,a),g!==u?" – ".concat(e3(u,a)):""]})]}),(0,i.jsxs)(o.A,{sx:{display:{xs:"flex",sm:"none"},alignItems:"center",gap:.6,mb:1.2,color:"#94a3b8"},children:[(0,i.jsx)(Z.A,{sx:{fontSize:14}}),(0,i.jsx)(l.A,{sx:{fontFamily:'"Plus Jakarta Sans",sans-serif',fontSize:"10.5px",fontWeight:600}
1,children:"Scroll table sideways to see all columns"})]}),(0,i.jsx)(c.A,{sx:{borderRadius:"14px",border:"1px solid #e8eef0",overflowY:"auto",overflowX:"auto",maxHeight:360,WebkitOverflowScrolling:"touch"},children:(0,i.jsxs)(x.A,{size:"small",stickyHeader:!0,children:[(0,i.jsx)(d.A,{children:(0,i.jsx)(p.A,{children:A.map(e=>(0,i.jsx)(f.A,{sx:{fontFamily:'"Plus Jakarta Sans",sans-serif',fontSize:"10px",fontWeight:800,color:"#64748b",letterSpacing:"0.07em",textTransform:"uppercase",bgcolor:"#f6faf8",borderBottom:"1px solid #e8eef0",py:1.2,px:2,whiteSpace:"nowrap"},children:e},e))})}),(0,i.jsx)(h.A,{children:t.map((e,t)=>{var n,a,s;return(0,i.jsxs)(p.A,{sx:{"&:nth-of-type(even)":{bgcolor:"#fafcfb"},"&:hover":{bgcolor:"rgba(15,118,110,0.04)"},transition:"background 0.15s","&:last-child td":{border:0}},children:[(0,i.jsx)(f.A,{sx:{fontFamily:'"Plus Jakarta Sans",sans-serif',fontSize:"12px",color:"#94a3b8",fontWeight:700,px:2,py:1},children:m?e.unitNo:t+1}),y&&(0,i.jsxs)(f.A,{sx:{fontFamily:'"Plus Jakarta Sans",sans-serif',fontSize:"12px",color:"#334155",fontWeight:600,px:2,py:1,whiteSpace:"nowrap"},children:[e.unitType,e.subType?" \xb7 ".concat(e.subType):""]}),S&&(0,i.jsx)(f.A,{sx:{fontFamily:'"Plus Jakarta Sans",sans-serif',fontSize:"12px",color:"#64748b",fontWeight:500,px:2,py:1,whiteSpace:"nowrap"},children:null!=(n=e.view)?n:"—"}),b&&(0,i.jsx)(f.A,{sx:{px:2,py:.8},children:e.upi?(0,i.jsx)(e9,{upi:e.upi}):(0,i.jsx)(l.A,{sx:{fontSize:"12px",color:"#94a3b8"},children:"—"})}),(0,i.jsxs)(f.A,{sx:{fontFamily:'"Plus Jakarta Sans",sans-serif',fontSize:"13px",color:"#334155",fontWeight:600,px:2,py:1,whiteSpace:"nowrap"},children:[e.size.toLocaleString()," m\xb2"]}),(0,i.jsx)(f.A,{sx:{fontFamily:'"Plus Jakarta Sans",sans-serif',fontSize:"13px",fontWeight:800,color:"#0f766e",px:2,py:1,whiteSpace:"nowrap"},children:r(e.price)})]},null!=(s=null!=(a=e.upi)?a:e.unitNo)?s:String(t))})})]})}),(0,i.jsx)(l.A,{sx:{fontFamily:'"Plus Jakarta Sans",sans-serif',fontSize:"11px",color:"#94a3b8",mt:1.5,textAlign:"center"},children:b?"UPI numbers revealed upon enquiry to protect seller privacy.":"Contact us for availability and reservation on any of these ".concat(m?"units":"plots",".")})]})},ta=e=>{let{title:t,shareDone:n,onBack:a,onHome:r,onShare:c}=e;return(0,i.jsxs)(o.A,{sx:{position:"fixed",top:0,left:0,right:0,zIndex:1300,display:"flex",alignItems:"center",gap:{xs:1,sm:1.4},height:{xs:"".concat(e4.xs,"px"),sm:"".concat(e4.sm,"px")},px:{xs:"12px",sm:"24px",md:"40px"},background:"linear-gradient(180deg,#071a10 0%,#0c2e22 100%)",borderBottom:"1px solid rgba(255,255,255,0.08)",boxShadow:"0 4px 22px rgba(0,0,0,0.28)"},children:[(0,i.jsx)(s.A,{title:"Go back",placement:"bottom",children:(0,i.jsx)(g.A,{onClick:a,sx:{...e7,width:36,height:36},size:"small",children:(0,i.jsx)(I.A,{sx:{fontSize:17}})})}
1),(0,i.jsxs)(o.A,{onClick:r,sx:{display:{xs:"none",sm:"flex"},alignItems:"center",gap:.8,cursor:"pointer",flexShrink:0},children:[(0,i.jsx)(o.A,{sx:{width:22,height:22,borderRadius:"6px",background:"linear-gradient(135deg,#14b8a6,#0d9488)",display:"flex",alignItems:"center",justifyContent:"center"},children:(0,i.jsx)(K.A,{sx:{fontSize:13,color:"#fff"}})}),(0,i.jsx)(l.A,{sx:{fontFamily:"Poppins,sans-serif",fontWeight:800,fontSize:"12px",color:"#fff",letterSpacing:"0.01em",whiteSpace:"nowrap"},children:"HILLS PROPS"})]}),(0,i.jsx)(u.A,{orientation:"vertical",flexItem:!0,sx:{display:{xs:"none",sm:"block"},borderColor:"rgba(255,255,255,0.12)",my:1.4}}),(0,i.jsx)(l.A,{sx:{flex:1,minWidth:0,fontFamily:'"Plus Jakarta Sans",sans-serif',fontSize:"13px",fontWeight:700,color:"rgba(255,255,255,0.82)",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:t}),(0,i.jsxs)(m.A,{direction:"row",spacing:.8,flexShrink:0,children:[(0,i.jsx)(s.A,{title:n?"Copied!":"Share",placement:"bottom",children:(0,i.jsx)(g.A,{onClick:c,sx:{...e7,width:36,height:36,...n?{background:"rgba(20,184,166,0.5)",border:"1px solid rgba(20,184,166,0.7)"}:{}},size:"small",children:n?(0,i.jsx)(H.A,{sx:{fontSize:16}}):(0,i.jsx)(D.A,{sx:{fontSize:16}})})}),(0,i.jsx)(s.A,{title:"Home",placement:"bottom",children:(0,i.jsx)(g.A,{onClick:r,sx:{...e7,width:36,height:36,display:{xs:"flex",sm:"none"}},size:"small",children:(0,i.jsx)(K.A,{sx:{fontSize:16}})})})]})]})},tr=e=>{let{priceStr:t,priceNegotiable:n,waHref:a,listedAt:r,realtorName:s,realtorRole:c,currency:x,onCurrencyChange:d,listingId:p,listingTitle:f}=e;return(0,i.jsxs)(o.A,{sx:{background:"#fff",borderRadius:"24px",border:"1px solid #e8eef0",overflow:"hidden",boxShadow:"0 8px 40px rgba(15,118,110,0.10)"},children:[(0,i.jsxs)(o.A,{sx:{background:"linear-gradient(135deg,#071a10 0%,#0c2e22 50%,#0f3d30 100%)",px:{xs:2.5,sm:3},pt:2.5,pb:2.2,position:"relative",overflow:"hidden"},children:[(0,i.jsx)(o.A,{sx:{position:"absolute",top:-50,right:-50,width:140,height:140,borderRadius:"50%",background:"radial-gradient(circle, rgba(20,184,166,0.2), transparent 70%)",pointerEvents:"none"}}),(0,i.jsx)(o.A,{sx:{position:"absolute",bottom:-20,left:-20,width:80,height:80,borderRadius:"50%",background:"radial-gradient(circle, rgba(52,211,153,0.12), transparent 70%)",pointerEvents:"none"}}),(0,i.jsx)(o.A,{sx:{mb:1.2},children:(0,i.jsx)(b.A,{size:"small",value:x,onChange:e=>d(e.target.value),onClick:e=>e.stopPropagation(),sx:{fontFamily:'"Plus Jakarta Sans",sans-serif',fontWeight:700,fontSize:"12px",color:"#fff",borderRadius:"10px",background:"rgba(255,255,255,0.1)","& .MuiOutlinedInput-notchedOutline":{border:"1px solid rgba(255,255,255,0.22)"},"&:hover .MuiOutlinedInput-notchedOutline":{borderColor:"rgba(255,255,255,0.45)"},"&.Mui-focused .MuiOutlinedInput-notchedOutline":{borderColor:"rgba(20,184,166,0.6)"},"& .MuiSelect-select":{py:"5px",px:"10px"},"& .MuiSvgIcon-root":{color:"rgba(255,255,255,0.7)"}},children:e5.map(e=>(0,i.jsx)(y.A,{value:e,sx:{fontFamily:'"Plus Jakarta Sans",sans-serif',fontSize:"13px",fontWeight:600},children:e},e))})}),(0,i.jsx)(l.A,{sx:{fontFamily:'"Plus Jakarta Sans",sans-serif',fontSize:"10px",color:"rgba(255,255,255,0.38)",fontWeight:700,textTransform:"uppercase",letterSpacing:"2px",mb:.5},children:"Asking Price"}),(0,i.jsx)(l.A,{sx:{fontFamily:'"Plus Jakarta Sans",sans-serif',fontWeight:900,fontSize:{xs:"24px",sm:"30px"},color:"#fff",letterSpacing:"-0.04em",lineHeight:1,wordBreak:"break-word"},children:t}),n&&(0,i.jsx)(o.A,{display:"inline-flex",alignItems:"center",mt:.8,sx:{px:1.2,py:.3,borderRadius:"20px",background:"rgba(52,211,153,0.18)",border:"1px solid rgba(52,211,153,0.3)"},children:(0,i.jsx)(l.A,{sx:{fontFamily:'"Plus Jakarta Sans",sans-serif',fontSize:"11px",color:"#34d399",fontWeight:700},children:"Negotiable"})})]}),(0,i.jsxs)(o.A,{sx:{p:{xs:2.5,sm:3}},children:[(0,i.jsxs)(o.A,{display:"flex",alignItems:"center",gap:1.8,mb:2.5,sx:{pb:2.5,borderBottom:"1px solid #f0f5f3"},children:[(0,i.jsx)(S.A,{src:e2.avatar,sx:{width:50,height:50,flexShrink:0,background:"linear-gradient(135deg,#0f766e,#14b8a6)",fontFamily:'"Plus Jakarta Sans",sans-serif',fontWeight:900,fontSize:"18px",border:"2.5px solid rgba(15,118,110,0.2)",boxShadow:"0 4px 16px rgba(15,118,110,0.2)"},children:!e2.avatar&&e2.name[0]}),(0,i.jsxs)(o.A,{flex:1,minWidth:0,children:[(0,i.jsxs)(o.A,{display:"flex",alignItems:"center",gap:.6,children:[(0,i.jsx)(l.A,{sx:{fontFamily:'"Plus Jakarta Sans",sans-serif',fontWeight:800,fontSize:"14px",color:"#0c1a14",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:e2.name}
1),(0,i.jsx)(U.A,{sx:{fontSize:15,color:"#0f766e",flexShrink:0}})]}),(0,i.jsx)(l.A,{sx:{fontFamily:'"Plus Jakarta Sans",sans-serif',fontSize:"12px",color:"#64748b"},children:e2.role}),(0,i.jsx)(l.A,{sx:{fontFamily:'"Plus Jakarta Sans",sans-serif',fontSize:"11px",color:"#0f766e",fontWeight:700},children:"Hills Props"})]})]}),(0,i.jsxs)(m.A,{spacing:1.2,children:[(0,i.jsx)(j.A,{fullWidth:!0,component:"a",href:a,target:"_blank",rel:"noopener noreferrer",onClick:()=>(0,eJ.m9)({contentId:p,contentName:f,method:"whatsapp"}),startIcon:(0,i.jsx)(L.A,{sx:{fontSize:"20px !important"}}),sx:{fontFamily:'"Plus Jakarta Sans",sans-serif',fontWeight:800,textTransform:"none",borderRadius:"14px",py:1.5,fontSize:"14px",background:"linear-gradient(135deg,#22c55e,#15803d)",color:"#fff",boxShadow:"0 6px 22px rgba(34,197,94,0.35)",letterSpacing:"-0.01em","&:hover":{filter:"brightness(1.08)",boxShadow:"0 8px 28px rgba(34,197,94,0.45)",transform:"translateY(-1px)"},transition:"all 0.2s ease"},children:"Chat on WhatsApp"}),(0,i.jsx)(j.A,{fullWidth:!0,component:"a",href:"tel:".concat(e2.phone),onClick:()=>(0,eJ.m9)({contentId:p,contentName:f,method:"call"}),startIcon:(0,i.jsx)(B.A,{sx:{fontSize:"18px !important"}}),sx:{fontFamily:'"Plus Jakarta Sans",sans-serif',fontWeight:700,textTransform:"none",borderRadius:"14px",py:1.4,fontSize:"13px",border:"1.5px solid rgba(15,118,110,0.22)",color:"#0f766e",background:"#f0fdf9",letterSpacing:"-0.01em","&:hover":{background:"#ecfdf5",borderColor:"#0f766e",transform:"translateY(-1px)"},transition:"all 0.2s ease"},children:e2.phone})]}),(0,i.jsx)(l.A,{sx:{fontFamily:'"Plus Jakarta Sans",sans-serif',fontSize:"11px",color:"#94a3b8",textAlign:"center",mt:2},children:"Free enquiry \xb7 Verified Hills Props agent"}),s&&(0,i.jsxs)(o.A,{sx:{mt:2.5,pt:2,borderTop:"1px solid #f0f5f3"},children:[(0,i.jsx)(l.A,{sx:{fontFamily:'"Plus Jakarta Sans",sans-serif',fontSize:"10px",color:"#94a3b8",fontWeight:700,textTransform:"uppercase",letterSpacing:"1.2px",mb:1},children:"Listed by"}),(0,i.jsxs)(o.A,{display:"flex",alignItems:"center",gap:1.2,children:[(0,i.jsx)(o.A,{sx:{width:34,height:34,borderRadius:"50%",flexShrink:0,background:"linear-gradient(135deg,#334155,#475569)",display:"flex",alignItems:"center",justifyContent:"center"},children:(0,i.jsx)(l.A,{sx:{fontFamily:'"Plus Jakarta Sans",sans-serif',fontSize:"13px",fontWeight:800,color:"#fff"},children:s.trim().charAt(0).toUpperCase()})}),(0,i.jsxs)(o.A,{children:[(0,i.jsx)(l.A,{sx:{fontFamily:'"Plus Jakarta Sans",sans-serif',fontWeight:700,fontSize:"13px",color:"#0c1a14",lineHeight:1.2},children:s.trim()}),c&&(0,i.jsx)(l.A,{sx:{fontFamily:'"Plus Jakarta Sans",sans-serif',fontSize:"11px",color:"#64748b"},children:c})]})]})]}),r&&(0,i.jsxs)(l.A,{sx:{fontFamily:'"Plus Jakarta Sans",sans-serif',fontSize:"11px",color:"#94a3b8",textAlign:"center",mt:2.5,pt:2,borderTop:"1px solid #f0f5f3"},children:["Listed"," ",new Date(1e3*r.seconds).toLocaleDateString("en-US",{day:"numeric",month:"long",year:"numeric"})]})]})]})},ts=e=>{let{src:t,autoPlay:n=!1,style:r,className:s}=e,o=(0,a.useRef)(null);return(0,a.useEffect)(()=>{let e=o.current;if(e)return n&&e.play().catch(()=>{}),()=>{e.paused||e.pause()}},[n]),(0,i.jsx)("video",{ref:o,src:t,controls:!0,playsInline:!0,preload:"metadata",style:{width:"100%",height:"100%",objectFit:"contain",background:"#000",display:"block",...r},className:s})},to=e=>{let{src:t,active:n,onClick:a,thumbW:r,thumbH:s}=e;return(0,i.jsxs)(o.A,{onClick:a,sx:{position:"relative",width:r,height:s,flexShrink:0,borderRadius:"12px",overflow:"hidden",cursor:"pointer",border:n?"2.5px solid #0f766e":"2.5px solid transparent",opacity:n?1:.5,transition:"all 0.18s ease",scrollSnapAlign:"start",background:"#050e08","&:hover":{opacity:.9,transform:"scale(1.04)"}},children:[(0,i.jsx)("video",{src:t,preload:"metadata",muted:!0,playsInline:!0,style:{width:"100%",height:"100%",objectFit:"cover",display:"block",pointerEvents:"none"}}),(0,i.jsx)(o.A,{sx:{position:"absolute",inset:0,display:"flex",alignItems:"center",justifyContent:"center",background:"rgba(0,0,0,0.38)"},children:(0,i.jsx)($.A,{sx:{fontSize:26,color:"#fff",opacity:.92}})})]})},tl=e=>{let{src:t,alt:n}=e;return(0,i.jsxs)(o.A,{sx:{position:"absolute",inset:0,width:"100%",height:"100%",overflow:"hidden"},children:[(0,i.jsx)(o.A,{component:"img",src:t,alt:"","aria-hidden":"true",draggable:!1,sx:{position:"absolute",inset:0,width:"100%",height:"100%",objectFit:"cover",objectPosition:"center",filter:"blur(38px) saturate(1.25) brightness(0.55)",transform:"scale(1.2)",display:"block"}}),(0,i.jsx)(o.A,{component:"img",src:t,alt:n,draggable:!1,sx:{position:"absolute",inset:0,width:"100%",height:"100%",objectFit:"cover",objectPosition:"center",display:"block"}})]})},tc=e=>{var t,n;let{mediaItems:r,title:c,favorited:x,onFavorite:d}=e,[p,f]=(0,a.useState)(0),[h,u]=(0,a.useState)(!1),[m,b]=(0,a.useState)(0),[y,S]=(0,a.useState)(1),[j,v]=(0,a.useState)(!0),w=(0,a.useRef)(null),z=(0,a.useRef)(null),F=null!=(t=r[p]
1)?t:{kind:"image",src:""},C="video"===F.kind,T=(0,a.useCallback)((e,t)=>{S(t),f((e+r.length)%r.length),v(!1)},[r.length]),J=(0,a.useCallback)(e=>b(t=>(t+e+r.length)%r.length),[r.length]);(0,a.useEffect)(()=>{if(!j||r.length<=1)return;let e=setTimeout(()=>v(!1),3e3);return()=>clearTimeout(e)},[j,r.length]),(0,a.useEffect)(()=>{if(!h)return;let e=e=>{"ArrowLeft"===e.key&&J(-1),"ArrowRight"===e.key&&J(1),"Escape"===e.key&&u(!1)};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[h,J]);let M={xs:64,sm:96,md:110},D={xs:48,sm:72,md:82},H=null!=(n=r[m])?n:{kind:"image",src:""};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(o.A,{sx:{position:"relative",width:"100vw",ml:"calc(-50vw + 50%)",height:{xs:"clamp(360px, 52svh, 450px)",sm:"clamp(450px, 60vh, 540px)",md:"clamp(520px, 64vh, 600px)",lg:"clamp(560px, 66vh, 640px)",xl:"clamp(600px, 68vh, 680px)"},minHeight:{xs:320,sm:380,md:420},maxHeight:{xs:460,sm:560,md:640,lg:680},background:"#050e08",overflow:"hidden",cursor:C?"default":"pointer",touchAction:C?"auto":"pan-y"},onTouchStart:e=>{C||(w.current=e.touches[0].clientX,z.current=e.touches[0].clientY)},onTouchEnd:e=>{if(C||null===w.current||null===z.current)return;let t=w.current-e.changedTouches[0].clientX,n=Math.abs(z.current-e.changedTouches[0].clientY);Math.abs(t)>44&&n<60&&T(p+(t>0?1:-1),t>0?1:-1),w.current=null,z.current=null},onClick:()=>{C||(b(p),u(!0))},children:[(0,i.jsx)(P.N,{initial:!1,custom:y,children:"image"===F.kind?(0,i.jsx)(W.P.div,{custom:y,initial:{x:80*y,opacity:0,scale:1.04},animate:{x:0,opacity:1,scale:1},exit:{x:-80*y,opacity:0,scale:.97},transition:{duration:.35,ease:[.25,.46,.45,.94]},style:{position:"absolute",inset:0,width:"100%",height:"100%"},children:(0,i.jsx)(tl,{src:F.src,alt:"".concat(c," ").concat(p+1)})},"img-".concat(p)):(0,i.jsx)(W.P.div,{initial:{opacity:0}
1,animate:{opacity:1},exit:{opacity:0},transition:{duration:.3},style:{position:"absolute",inset:0,display:"flex",alignItems:"center",justifyContent:"center",background:"#000"},children:(0,i.jsx)(ts,{src:F.src,autoPlay:!1,style:{maxWidth:"100%",maxHeight:"100%",objectFit:"contain"}})},"vid-".concat(p))}),!C&&(0,i.jsx)(el.A,{}),!C&&(0,i.jsx)(o.A,{sx:{position:"absolute",inset:0,pointerEvents:"none",zIndex:2,background:"linear-gradient(0deg, rgba(3,9,5,0.55) 0%, rgba(3,9,5,0.0) 30%)"}}),(0,i.jsx)(o.A,{onClick:e=>e.stopPropagation(),sx:{position:"absolute",top:0,right:0,zIndex:10,px:{xs:"14px",sm:"24px",md:"40px"},pt:{xs:"14px",sm:"20px"}},children:(0,i.jsx)(s.A,{title:x?"Saved":"Save",placement:"bottom",children:(0,i.jsx)(g.A,{onClick:d,sx:{...e7,...x?{background:"rgba(239,68,68,0.5)",border:"1px solid rgba(239,68,68,0.65)",color:"#fca5a5"}:{}},size:"small",children:x?(0,i.jsx)(E.A,{sx:{fontSize:19}}):(0,i.jsx)(N.A,{sx:{fontSize:19}})})})}),r.length>1&&[{side:"left",dv:-1,Icon:I.A},{side:"right",dv:1,Icon:R.A}].map(e=>{let{side:t,dv:n,Icon:a}=e;return(0,i.jsx)(g.A,{onClick:e=>{e.stopPropagation(),T(p+n,n)},sx:{display:{xs:"none",sm:"flex"},position:"absolute",[t]:{sm:20,md:32},top:"50%",transform:"translateY(-50%)",zIndex:10,width:48,height:48,borderRadius:"16px",background:"rgba(255,255,255,0.9)",backdropFilter:"blur(12px)",boxShadow:"0 4px 24px rgba(0,0,0,0.22)","&:hover":{background:"#fff",transform:"translateY(-50%) scale(1.08)"},transition:"all 0.2s ease"},children:(0,i.jsx)(a,{sx:{fontSize:22}})},t)}),r.length>1&&!C&&(0,i.jsx)(P.N,{children:j&&(0,i.jsx)(W.P.div,{initial:{opacity:0,scale:.88},animate:{opacity:1,scale:1},exit:{opacity:0,scale:.88},transition:{duration:.3},style:{position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",zIndex:11,pointerEvents:"none",display:"flex",alignItems:"center"},children:(0,i.jsxs)(o.A,{sx:{display:{xs:"flex",sm:"none"},alignItems:"center",gap:1,px:2,py:1,borderRadius:"24px",background:"rgba(5,14,8,0.65)",backdropFilter:"blur(12px)",border:"1px solid rgba(255,255,255,0.18)"},children:[(0,i.jsx)(W.P.div,{animate:{x:[-4,0,-4]},transition:{duration:1.1,repeat:1/0,ease:"easeInOut"},children:(0,i.jsx)(I.A,{sx:{fontSize:18,color:"rgba(255,255,255,0.8)"}})}),(0,i.jsx)(Z.A,{sx:{fontSize:20,color:"#14b8a6"}}),(0,i.jsx)(l.A,{sx:{fontFamily:'"Plus Jakarta Sans",sans-serif',fontSize:"12px",fontWeight:700,color:"rgba(255,255,255,0.88)",whiteSpace:"nowrap"},children:"Swipe to browse"}),(0,i.jsx)(W.P.div,{animate:{x:[4,0,4]},transition:{duration:1.1,repeat:1/0,ease:"easeInOut"},children:(0,i.jsx)(R.A,{sx:{fontSize:18,color:"rgba(255,255,255,0.8)"}})})]})})}),(0,i.jsxs)(o.A,{onClick:e=>e.stopPropagation(),sx:{position:"absolute",bottom:0,left:0,right:0,zIndex:10,display:"flex",alignItems:"center",justifyContent:"space-between",px:{xs:"16px",sm:"28px",md:"48px",lg:"64px"},pb:{xs:"14px",sm:"18px",md:"22px"},gap:1},children:[(0,i.jsxs)(o.A,{display:"flex",alignItems:"center",gap:.6,flexWrap:"wrap",children:[r.slice(0,Math.min(r.length,9)).map((e,t)=>(0,i.jsx)(o.A,{onClick:e=>{e.stopPropagation(),S(t>p?1:-1),f(t),v(!1)},sx:{width:t===p?22:6,height:6,borderRadius:"3px",background:t===p?"video"===e.kind?"#818cf8":"#14b8a6":"rgba(255,255,255,0.45)",transition:"all 0.28s ease",cursor:r.length>1?"pointer":"default","&:active":{transform:"scale(1.3)"}}},t)),r.length>9&&(0,i.jsxs)(l.A,{sx:{fontFamily:'"Plus Jakarta Sans",sans-serif',fontSize:"10px",color:"rgba(255,255,255,0.5)",fontWeight:700,ml:.5},children:["+",r.length-9]})]}),(0,i.jsxs)(o.A,{onClick:e=>{e.stopPropagation(),b(C?p:0),u(!0)},sx:{display:"flex",alignItems:"center",gap:.7,px:1.6,py:.7,borderRadius:"20px",background:"rgba(10,20,14,0.6)",backdropFilter:"blur(12px)",border:"1px solid rgba(255,255,255,0.2)",cursor:"pointer",flexShrink:0,"&:hover":{background:"rgba(20,184,166,0.35)",border:"1px solid rgba(20,184,166,0.5)"},"&:active":{transform:"scale(0.96)"},transition:"all 0.2s ease"},children:[C?(0,i.jsx)(Q.A,{sx:{fontSize:14,color:"#fff"}}):(0,i.jsx)(V.A,{sx:{fontSize:14,color:"#fff"}}),(0,i.jsxs)(l.A,{sx:{fontFamily:'"Plus Jakarta Sans",sans-serif',fontSize:"12px",fontWeight:700,color:"#fff"},children:[p+1," / ",r.length]})]})]})]}),r.length>1&&(0,i.jsx)(o.A,{sx:{width:"100vw",ml:"calc(-50vw + 50%)",background:"#f4f8f5",display:"flex",gap:"8px",overflowX:"auto",px:{xs:"16px",sm:"24px",md:"40px",lg:"64px"},py:"10px","&::-webkit-scrollbar":{height:0},scrollSnapType:"x mandatory"},children:r.map((e,t)=>"image"===e.kind?(0,i.jsxs)(o.A,{onClick:()=>{S(t>p?1:-1),f(t),window.scrollTo({top:0,behavior:"smooth"}),v(!1)},sx:{position:"relative",width:M,height:D,flexShrink:0,borderRadius:"12px",overflow:"hidden",cursor:"pointer",border:t===p?"2.5px solid #0f766e":"2.5px solid transparent",opacity:t===p?1:.5,transition:"all 0.18s ease",scrollSnapAlign:"start",background:"#e8eef0","&:hover":{opacity:.9,transform:"scale(1.04)"}},children:[(0,i.jsx)(o.A,{component:"img",src:e.src,alt:"",sx:{position:"absolute",inset:0,width:"100%",height:"100%",objectFit:"cover",filter:"blur(10px) brightness(0.8)",transform:"scale(1.2)",display:"block"}}),(0,i.jsx)(o.A,{component:"img",src:e.src,alt:"",sx:{position:"absolute",inset:0,width:"100%",height:"100%",objectFit:"contain",display:"block"}})]},t):(0,i.jsx)(to,{src:e.src,active:t===p,thumbW:M,thumbH:D,onClick:()=>{S(t>p?1:-1),f(t),window.scrollTo({top:0,behavior:"smooth"}),v(!1)}},t))}),(0,i.jsx)(A.A,{open:h,onClose:()=>u(!1),maxWidth:!1,PaperProps:{sx:{background:"#040d07",borderRadius:0,m:0,width:"100vw",height:"100vh",maxWidth:"100vw",maxHeight:"100vh"}},children:(0,i.jsxs)(k.A,{sx:{p:0,display:"flex",alignItems:"center",justifyContent:"center",position:"relative",height:"100vh",background:"#040d07"},children:[(0,i.jsx)(g.A,{onClick:()=>u(!1),sx:{position:"absolute",top:16,right:16,zIndex:10,background:"rgba(255,255,255,0.08)",color:"#fff",borderRadius:"12px","&:hover":{background:"rgba(255,255,255,0.16)"}},children:(0,i.jsx)(O.A,{sx:{fontSize:22}})}),(0,i.jsxs)(o.A,{sx:{position:"absolute",top:16,left:"50%",transform:"translateX(-50%)",zIndex:10,px:2,py:.6,borderRadius:"20px",background:"rgba(255,255,255,0.08)",display:"flex",alignItems:"center",gap:.8},children:["video"===H.kind&&(0,i.jsx)(Q.A,{sx:{fontSize:13,color:"#a5b4fc"}}),(0,i.jsxs)(l.A,{sx:{fontFamily:'"Plus Jakarta Sans",sans-serif',fontSize:"12px",color:"rgba(255,255,255,0.5)",fontWeight:700},children:[m+1," / ",r.length]})]}),[{side:"left",dv:-1,Icon:I.A},{side:"right",dv:1,Icon:R.A}].map(e=>{let{side:t,dv:n,Icon:a}=e;return(0,i.jsx)(g.A,{onClick:()=>J(n),sx:{position:"absolute",[t]:12,zIndex:10,background:"rgba(255,255,255,0.07)",color:"#fff",borderRadius:"12px","&:hover":{background:"rgba(255,255,255,0.16)"}},children:(0,i.jsx)(a,{sx:{fontSize:24}})},t)}),(0,i.jsx)(P.N,{initial:!1,children:"image"===H.kind?(0,i.jsx)(W.P.img,{src:H.src,alt:c,initial:{opacity:0,scale:.96}
1,animate:{opacity:1,scale:1},exit:{opacity:0},transition:{duration:.22},style:{maxWidth:"96vw",maxHeight:"88vh",width:"auto",height:"auto",objectFit:"contain",borderRadius:"12px",userSelect:"none",display:"block"}},"lb-img-".concat(m)):(0,i.jsx)(W.P.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.22},style:{width:"92vw",maxHeight:"86vh",display:"flex",alignItems:"center",justifyContent:"center"},children:(0,i.jsx)(ts,{src:H.src,autoPlay:!1,style:{maxWidth:"92vw",maxHeight:"86vh",borderRadius:"12px"}})},"lb-vid-".concat(m))}),(0,i.jsx)(o.A,{sx:{position:"absolute",bottom:16,left:"50%",transform:"translateX(-50%)",display:"flex",gap:"6px",overflowX:"auto",maxWidth:"90vw",px:1,"&::-webkit-scrollbar":{height:0}},children:r.map((e,t)=>"image"===e.kind?(0,i.jsx)(o.A,{component:"img",src:e.src,alt:"",onClick:()=>b(t),sx:{width:52,height:38,objectFit:"cover",borderRadius:"7px",cursor:"pointer",flexShrink:0,border:t===m?"2px solid #14b8a6":"2px solid transparent",opacity:t===m?1:.45,transition:"all 0.15s","&:hover":{opacity:.85}}},t):(0,i.jsxs)(o.A,{onClick:()=>b(t),sx:{position:"relative",width:52,height:38,flexShrink:0,borderRadius:"7px",overflow:"hidden",cursor:"pointer",border:t===m?"2px solid #818cf8":"2px solid transparent",opacity:t===m?1:.45,background:"#050e08",transition:"all 0.15s","&:hover":{opacity:.85}},children:[(0,i.jsx)("video",{src:e.src,preload:"metadata",muted:!0,playsInline:!0,style:{width:"100%",height:"100%",objectFit:"cover",display:"block",pointerEvents:"none"}}),(0,i.jsx)(o.A,{sx:{position:"absolute",inset:0,display:"flex",alignItems:"center",justifyContent:"center",background:"rgba(0,0,0,0.4)"},children:(0,i.jsx)($.A,{sx:{fontSize:16,color:"#fff"}})})]},t))})]})})]})},tx=e=>{let{listing:t,priceStr:n,currency:a,hasVideo:r,statBadges:s,locationStr:c}=e,x={display:"inline-flex",alignItems:"center",gap:.5,px:1.4,py:.4,borderRadius:"20px"};return(0,i.jsx)(o.A,{sx:{width:"100vw",ml:"calc(-50vw + 50%)",background:"linear-gradient(180deg,#071a10 0%,#0c2e22 100%)",px:{xs:"16px",sm:"28px",md:"48px",lg:"64px"},py:{xs:"18px",sm:"24px",md:"30px"}},children:(0,i.jsxs)(o.A,{sx:{maxWidth:"1400px",mx:"auto"},children:[(0,i.jsxs)(m.A,{direction:"row",spacing:.8,mb:1.4,flexWrap:"wrap",useFlexGap:!0,children:[(0,i.jsx)(o.A,{sx:{...x,background:"linear-gradient(135deg,#0f766e,#14b8a6)"},children:(0,i.jsx)(l.A,{sx:{fontFamily:'"Plus Jakarta Sans",sans-serif',fontSize:"10px",fontWeight:800,color:"#fff",letterSpacing:"0.06em"},children:"Rent"===t.listingType?"FOR RENT":"Presale"===t.listingType?"FOR PRESALE":"FOR SALE"})}),"published"===t.status&&(0,i.jsxs)(o.A,{sx:{...x,background:"rgba(255,255,255,0.08)",border:"1px solid rgba(52,211,153,0.35)"},children:[(0,i.jsx)(U.A,{sx:{fontSize:11,color:"#34d399"}}),(0,i.jsx)(l.A,{sx:{fontFamily:'"Plus Jakarta Sans",sans-serif',fontSize:"10px",fontWeight:700,color:"#a7f3d0",letterSpacing:"0.04em"},children:"VERIFIED"})]}),t.priceNegotiable&&(0,i.jsx)(o.A,{sx:{...x,background:"rgba(251,191,36,0.14)",border:"1px solid rgba(251,191,36,0.4)"},children:(0,i.jsx)(l.A,{sx:{fontFamily:'"Plus Jakarta Sans",sans-serif',fontSize:"10px",fontWeight:700,color:"#fde68a",letterSpacing:"0.04em"},children:"NEGOTIABLE"})}),t.propertyNumber&&(0,i.jsx)(o.A,{sx:{...x,background:"rgba(255,255,255,0.06)",border:"1px solid rgba(94,234,212,0.3)"},children:(0,i.jsxs)(l.A,{sx:{fontFamily:'"Plus Jakarta Sans",sans-serif',fontSize:"10px",fontWeight:800,color:"#5eead4",letterSpacing:"0.06em"},children:["HP-",t.propertyNumber]})}),"RWF"!==a&&(0,i.jsx)(o.A,{sx:{...x,background:"rgba(99,102,241,0.16)",border:"1px solid rgba(99,102,241,0.4)"},children:(0,i.jsx)(l.A,{sx:{fontFamily:'"Plus Jakarta Sans",sans-serif',fontSize:"10px",fontWeight:800,color:"#a5b4fc",letterSpacing:"0.06em"},children:a})}),r&&(0,i.jsxs)(o.A,{sx:{...x,background:"rgba(99,102,241,0.18)",border:"1px solid rgba(99,102,241,0.4)"},children:[(0,i.jsx)(Q.A,{sx:{fontSize:11,color:"#a5b4fc"}}),(0,i.jsx)(l.A,{sx:{fontFamily:'"Plus Jakarta Sans",sans-serif',fontSize:"10px",fontWeight:700,color:"#a5b4fc",letterSpacing:"0.04em"},children:"VIDEO TOUR"})]})]}),(0,i.jsx)(l.A,{sx:{fontFamily:'"Plus Jakarta Sans",sans-serif',fontWeight:900,fontSize:{xs:"28px",sm:"36px",md:"44px"},color:"#fff",letterSpacing:"-0.03em",lineHeight:1,mb:1.6,wordBreak:"break-word"},children:n}),s.length>0&&(0,i.jsx)(o.A,{display:"flex",flexWrap:"wrap",gap:.9,mb:1.4,children:s.map((e,t)=>(0,i.jsxs)(o.A,{sx:{flexBasis:{xs:"31%",sm:"auto"},flexGrow:{xs:1,sm:0},display:"flex",alignItems:"center",gap:.8,py:.9,px:1.1,borderRadius:"11px",background:"rgba(255,255,255,0.07)",border:"1px solid rgba(94,234,212,0.18)",minWidth:0},children:[(0,i.jsx)(o.A,{sx:{width:22,height:22,borderRadius:"7px",background:"rgba(20,184,166,0.22)",display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0,color:"#5eead4"},children:e.icon}),(0,i.jsx)(l.A,{sx:{fontFamily:'"Plus Jakarta Sans",sans-serif',fontSize:"11.5px",fontWeight:700,color:"rgba(255,255,255,0.9)",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:e.text})]},t))}),c&&(0,i.jsxs)(o.A,{sx:{display:"inline-flex",alignItems:"center",gap:.8,py:.9,px:1.1,borderRadius:"11px",background:"rgba(255,255,255,0.07)",border:"1px solid rgba(94,234,212,0.18)",maxWidth:"100%"},children:[(0,i.jsx)(o.A,{sx:{width:22,height:22,borderRadius:"7px",background:"rgba(20,184,166,0.22)",display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0},children:(0,i.jsx)(C.A,{sx:{fontSize:12,color:"#5eead4"}})}),(0,i.jsx)(l.A,{sx:{fontFamily:'"Plus Jakarta Sans",sans-serif',fontSize:"11.5px",fontWeight:700,color:"rgba(255,255,255,0.9)",overflow:"hidden",textOverflow:"ellipsis"},children:c})]})]})})};var td=!0;let tp=e=>{var t,n,s,c,x,d,p,f;let{listingSSR:h}=e,u=(0,r.useRouter)(),[b,y]=(0,a.useState)(null),[S,A]=(0,a.useState)(!0),[k,P]=(0,a.useState)(null),[I,R]=(0,a.useState)(!1),[D,H]=(0,a.useState)(!1),[N,E]=(0,a.useState)("RWF"),O=(0,a.useRef)(null);(0,a.useEffect)(()=>
1{if(!u.isReady)return;let e=u.query.currency;"string"==typeof e&&ex.Mj[e]&&E(e)},[u.isReady,u.query.currency]),(0,a.useEffect)(()=>{var e;if(!b||!u.isReady||O.current===b.id)return;let t=null!=b.price?e6(b.price,b.currency,N):b.isSite&&(null==(e=b.plots)?void 0:e.length)?e6(Math.min(...b.plots.map(e=>e.price)),b.currency,N):void 0,n=0,i=()=>!!(0,eJ.KP)({contentId:b.id,contentName:b.title,currency:N,value:t})&&(O.current=b.id,!0);if(i())return;let a=setInterval(()=>{n+=1,(i()||n>=20)&&clearInterval(a)},500);return()=>clearInterval(a)},[b,u.isReady]);let[V,X]=(0,a.useState)({open:!1,message:"",severity:"success"});(0,a.useEffect)(()=>{let e=(0,et.hg)(en.j2,async e=>{if(e){var t;P(e.uid);let n=await (0,ee.x7)((0,ee.H9)(en.db,"profile",e.uid));n.exists()&&R((null!=(t=n.data().favorites)?t:[]).includes(h.id))}else P(null),R(!1)});return()=>e()},[h.id]),(0,a.useEffect)(()=>{h.id&&(0,ee.x7)((0,ee.H9)(en.db,"listings",h.id)).then(e=>{e.exists()&&y({id:e.id,...e.data()})}).catch(console.error).finally(()=>A(!1))},[h.id]);let Z=async()=>{if(!k)return;let e=!I;R(e);try{await (0,ee.mZ)((0,ee.H9)(en.db,"profile",k),{favorites:e?(0,ee.hq)(h.id):(0,ee.C3)(h.id)}),X({open:!0,message:e?"Saved to favourites":"Removed from favourites",severity:e?"success":"info"})}catch(t){R(!e)}},$=async()=>{let e="".concat(window.location.origin,"/listing/").concat(h.id);if(navigator.share)try{await navigator.share({title:h.title,text:h.title,url:e});return}catch(e){}await navigator.clipboard.writeText(e),H(!0),setTimeout(()=>H(!1),2400),X({open:!0,message:"Link copied to clipboard!",severity:"success"})},ea="https://hillsprops.com/listing/".concat(h.id),er=(null==(t=h.images)?void 0:t[0])||"https://hillsprops.com/images/og-image2.png",es={id:h.id,propertyType:h.propertyType,listingType:h.listingType,price:h.price,district:h.district,province:h.province},el=(()=>{var e;if(!b)return null==h.price?"Contact for price":e3(e6(h.price,h.currency,N),N);if(b.isSite&&(null==(e=b.plots)?void 0:e.length)){let e=e6(Math.min(...b.plots.map(e=>e.price)),b.currency,N);return"From ".concat(e3(e,N))}return null==b.price?"Contact for price":e3(e6(b.price,b.currency,N),N)})(),ed="https://wa.me/".concat(e2.whatsapp.replace(/\D/g,""),"?text=").concat(encodeURIComponent("Muraho / Hi Hills Props,\nI'm interested in this property:\n".concat(h.title,"\n").concat(ea))),ep=b?function(e,t,n){let i=e.map(e=>({kind:"image",src:e})),a=new Set;return(null!=t?t:[]).forEach(e=>{e&&a.add(e)}),n&&!a.has(n)&&a.add(n),a.forEach(e=>i.push({kind:"video",src:e})),i}(null!=(d=b.images)?d:[],null!=(p=b.videos)?p:[],b.videoUrl):[],ef=b?[b.bedrooms&&b.bedrooms>0&&{icon:(0,i.jsx)(T.A,{sx:{fontSize:22}}),label:"Beds",value:b.bedrooms},b.bathrooms&&b.bathrooms>0&&{icon:(0,i.jsx)(J.A,{sx:{fontSize:22}}),label:"Baths",value:b.bathrooms},b.landSize&&b.landSize>0&&{icon:(0,i.jsx)(M.A,{sx:{fontSize:22}}),label:"Land m\xb2",value:b.landSize.toLocaleString()},b.buildingSize&&b.buildingSize>0&&{icon:(0,i.jsx)(Y.A,{sx:{fontSize:22}}),label:"Built m\xb2",value:b.buildingSize.toLocaleString()},b.parkingSpots&&b.parkingSpots>0&&{icon:(0,i.jsx)(G.A,{sx:{fontSize:22}}),label:"Parking",value:b.parkingSpots}].filter(Boolean):[],eh=b?[b.bedrooms&&b.bedrooms>0?{icon:(0,i.jsx)(T.A,{sx:{fontSize:13}}),text:"".concat(b.bedrooms," Bed").concat(b.bedrooms>1?"s":"")}:null,b.bathrooms&&b.bathrooms>0?{icon:(0,i.jsx)(J.A,{sx:{fontSize:13}}),text:"".concat(b.bathrooms," Bath").concat(b.bathrooms>1?"s":"")}:null,b.landSize&&b.landSize>0?{icon:(0,i.jsx)(M.A,{sx:{fontSize:13}}),text:"".concat(b.landSize.toLocaleString()," m\xb2 Land")}:null,b.buildingSize&&b.buildingSize>0?{icon:(0,i.jsx)(Y.A,{sx:{fontSize:13}}),text:"".concat(b.buildingSize.toLocaleString()," m\xb2 Built")}:null,b.parkingSpots&&b.parkingSpots>0?{icon:(0,i.jsx)(G.A,{sx:{fontSize:13}}),text:"".concat(b.parkingSpots," Parking")}:null].filter(Boolean):[],eg=b?[b.village,b.cell,b.sector,b.district,b.province].filter(Boolean).join(", "):"",em=ep.some(e=>"video"===e.kind);return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(ei.A,{title:"".concat(h.title," — Hills Props"),description:e8(h),url:ea,image:er,ogTitle:"".concat(h.title," — Hills Props"),ogDescription:e8(h)}),(0,i.jsx)(ta,{title:null!=(f=null==b?void 0:b.title)?f:h.title,shareDone:D,onBack:()=>u.back(),onHome:()=>u.push("/"),onShare:$}),(0,i.jsxs)(o.A,{sx:{minHeight:"100vh",background:"#f4f8f5",overflowX:"hidden",pt:{xs:"".concat(e4.xs,"px"),sm:"".concat(e4.sm,"px")}}
1,children:[S&&(0,i.jsxs)(o.A,{sx:{width:"100vw",height:{xs:"calc(100svh - ".concat(e4.xs,"px)"),sm:"calc(100vh - ".concat(e4.sm,"px)")},background:"linear-gradient(160deg,#071a10,#0c2e22)",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:2},children:[(0,i.jsx)(v.A,{sx:{color:"#14b8a6"},size:38,thickness:3}),(0,i.jsx)(l.A,{sx:{fontFamily:'"Plus Jakarta Sans",sans-serif',fontSize:"13px",color:"rgba(255,255,255,0.4)",fontWeight:600},children:"Loading property…"})]}),!S&&!b&&(0,i.jsxs)(o.A,{sx:{minHeight:{xs:"calc(100svh - ".concat(e4.xs,"px)"),sm:"calc(100vh - ".concat(e4.sm,"px)")},display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:2.5,background:"#f4f8f5",px:3},children:[(0,i.jsx)(l.A,{sx:{fontFamily:'"Plus Jakarta Sans",sans-serif',fontSize:"20px",fontWeight:900,color:"#0c1a14",textAlign:"center"},children:"Listing not found"}),(0,i.jsx)(l.A,{sx:{fontFamily:'"Plus Jakarta Sans",sans-serif',fontSize:"14px",color:"#64748b",textAlign:"center",maxWidth:320},children:"This property may have been removed or the link may be incorrect."}),(0,i.jsx)(j.A,{onClick:()=>u.push("/"),startIcon:(0,i.jsx)(K.A,{}),sx:{fontFamily:'"Plus Jakarta Sans",sans-serif',fontWeight:700,textTransform:"none",borderRadius:"14px",background:"#0f766e",color:"#fff",px:3.5,py:1.3,fontSize:"14px","&:hover":{background:"#0d9488",transform:"translateY(-1px)"},transition:"all 0.2s ease"},children:"Back to home"})]}),!S&&b&&(0,i.jsxs)(W.P.div,{initial:{opacity:0}
1,animate:{opacity:1},transition:{duration:.28},children:[(0,i.jsx)(tc,{mediaItems:ep,title:b.title,favorited:I,onFavorite:Z}),(0,i.jsx)(tx,{listing:b,priceStr:el,currency:N,hasVideo:em,statBadges:eh,locationStr:eg}),(0,i.jsx)(e=>{let{children:t}=e;return(0,i.jsx)(o.A,{sx:{background:"#f4f8f5",px:{xs:"14px",sm:"24px",md:"40px",lg:"64px"},maxWidth:"1400px",mx:"auto",width:"100%"},children:t})},{children:(0,i.jsxs)(o.A,{display:"grid",gridTemplateColumns:{xs:"1fr",lg:"minmax(0,1fr) 360px"},gap:{xs:0,lg:"32px"},alignItems:"start",pb:{xs:0,lg:"60px"},children:[(0,i.jsxs)(o.A,{sx:{minWidth:0},children:[(0,i.jsxs)(o.A,{sx:{background:"#fff",borderRadius:"24px",border:"1px solid #e8eef0",p:{xs:"18px",sm:"28px"},mb:"14px",boxShadow:"0 2px 20px rgba(15,118,110,0.05)"},children:[(0,i.jsxs)(m.A,{direction:"row",spacing:.8,mb:1.6,flexWrap:"wrap",useFlexGap:!0,children:["published"===b.status&&(0,i.jsx)(w.A,{icon:(0,i.jsx)(U.A,{sx:{fontSize:"12px !important",color:"#059669 !important"}}),label:"Verified",size:"small",sx:{fontFamily:'"Plus Jakarta Sans",sans-serif',fontWeight:700,fontSize:"10px",background:"#ecfdf5",color:"#059669",border:"1px solid #a7f3d0"}}),b.furnished&&(0,i.jsx)(w.A,{label:"Furnished",size:"small",sx:{fontFamily:'"Plus Jakarta Sans",sans-serif',fontWeight:700,fontSize:"10px",background:"#eff6ff",color:"#1d4ed8",border:"1px solid #bfdbfe"}}),b.titleDeedAvailable&&(0,i.jsx)(w.A,{icon:(0,i.jsx)(_.A,{sx:{fontSize:"12px !important",color:"#7c3aed !important"}}),label:"Title Deed",size:"small",sx:{fontFamily:'"Plus Jakarta Sans",sans-serif',fontWeight:700,fontSize:"10px",background:"#f5f3ff",color:"#7c3aed",border:"1px solid #ddd6fe"}}),ep.some(e=>"video"===e.kind)&&(0,i.jsx)(w.A,{icon:(0,i.jsx)(Q.A,{sx:{fontSize:"12px !important",color:"#4f46e5 !important"}}),label:"Video Tour",size:"small",sx:{fontFamily:'"Plus Jakarta Sans",sans-serif',fontWeight:700,fontSize:"10px",background:"#eef2ff",color:"#4f46e5",border:"1px solid #c7d2fe"}})]}),(0,i.jsx)(l.A,{sx:{fontFamily:'"Plus Jakarta Sans",sans-serif',fontWeight:900,fontSize:{xs:"20px",sm:"28px",md:"32px"},color:"#0c1a14",letterSpacing:"-0.035em",lineHeight:1.2,mb:1.2},children:b.title}),(0,i.jsxs)(o.A,{display:"flex",alignItems:"center",flexWrap:"wrap",gap:.5,children:[(0,i.jsx)(C.A,{sx:{fontSize:15,color:"#0f766e",flexShrink:0}}),[b.village,b.cell,b.sector,b.district,b.province].filter(Boolean).map((e,t,n)=>(0,i.jsxs)(a.Fragment,{children:[(0,i.jsx)(l.A,{sx:{fontFamily:'"Plus Jakarta Sans",sans-serif',fontSize:"13px",color:"#334155",fontWeight:600},children:e}),t<n.length-1&&(0,i.jsx)(l.A,{sx:{color:"#94a3b8",fontSize:"11px"},children:"›"})]},t))]})]}),(0,i.jsx)(o.A,{sx:{display:{xs:"block",lg:"none"},mb:"14px"},children:(0,i.jsx)(tr,{priceStr:el,priceNegotiable:b.priceNegotiable,waHref:ed,listedAt:b.listedAt,realtorName:null==(n=b.contactInfo)?void 0:n.name,realtorRole:null==(s=b.contactInfo)?void 0:s.role,currency:N,onCurrencyChange:E,listingId:b.id,listingTitle:b.title})}),ef.length>0&&(0,i.jsx)(o.A,{display:"grid",gridTemplateColumns:{xs:"repeat(auto-fit, minmax(78px, 1fr))",sm:"repeat(".concat(Math.min(ef.length,5),", 1fr)")},gap:{xs:"8px",sm:"12px"},mb:"14px",children:ef.map((e,t)=>(0,i.jsx)(tn,{icon:e.icon,label:e.label,value:e.value},t))}),b.description&&(0,i.jsx)(te,{title:"About This Property",icon:(0,i.jsx)(Y.A,{sx:{fontSize:15}}),children:(0,i.jsx)(l.A,{sx:{fontFamily:'"Plus Jakarta Sans",sans-serif',fontSize:"14px",color:"#334155",lineHeight:2,whiteSpace:"pre-wrap"},children:b.description})}),b.isSite&&b.plots&&b.plots.length>0&&(0,i.jsx)(ti,{plots:b.plots,currency:b.currency,displayCurrency:N}),(0,i.jsxs)(te,{title:"Property Details",icon:(0,i.jsx)(q.A,{sx:{fontSize:15}}),children:[(0,i.jsx)(tt,{label:"Type",value:b.propertyType}),(0,i.jsx)(tt,{label:"Listing",value:b.listingType}),(0,i.jsx)(tt,{label:"Land Size",value:b.landSize?"".concat(b.landSize.toLocaleString()," m\xb2"):null}),(0,i.jsx)(tt,{label:"Building Size",value:b.buildingSize?"".concat(b.buildingSize.toLocaleString()," m\xb2"):null}),(0,i.jsx)(tt,{label:"Bedrooms",value:b.bedrooms?String(b.bedrooms):null}),(0,i.jsx)(tt,{label:"Bathrooms",value:b.bathrooms?String(b.bathrooms):null}),(0,i.jsx)(tt,{label:"Parking",value:b.parkingSpots?"".concat(b.parkingSpots," spot").concat(b.parkingSpots>1?"s":""):null}),(0,i.jsx)(tt,{label:"Furnished",value:b.furnished?"Yes":null}),(0,i.jsx)(tt,{label:"Zoning",value:b.zoning}),ep.some(e=>"video"===e.kind)&&(0,i.jsx)(tt,{label:"Video Tour",children:(0,i.jsxs)(o.A,{display:"flex",alignItems:"center",gap:.8,children:[(0,i.jsx)(Q.A,{sx:{fontSize:15,color:"#4f46e5"}}),(0,i.jsxs)(l.A,{sx:{fontFamily:'"Plus Jakarta Sans",sans-serif',fontSize:"13px",fontWeight:700,color:"#4f46e5",cursor:"pointer","&:hover":{textDecoration:"underline"}},onClick:()=>{-1!==ep.findIndex(e=>"video"===e.kind)&&window.scrollTo({top:0,behavior:"smooth"})},children:[ep.filter(e=>"video"===e.kind).length," video",ep.filter(e=>"video"===e.kind).length>
11?"s":""," ","available ↑"]})]})})]}),(0,i.jsxs)(te,{title:"Location",icon:(0,i.jsx)(C.A,{sx:{fontSize:15}}),children:[(0,i.jsx)(tt,{label:"Province",value:b.province}),(0,i.jsx)(tt,{label:"District",value:b.district}),(0,i.jsx)(tt,{label:"Sector",value:b.sector}),(0,i.jsx)(tt,{label:"Cell",value:b.cell}),(0,i.jsx)(tt,{label:"Village",value:b.village}),(0,i.jsx)(tt,{label:"Street",value:b.streetAddress}),(0,i.jsx)(tt,{label:"Apt / Unit",value:b.apartmentNumber})]}),"Townhouse Development"===b.propertyType&&null!=b.price&&(0,i.jsx)(eu,{price:e6(b.price,b.currency,N),currencyLabel:N,reservationFee:e6(2e3,"USD",N)}),"Townhouse Development"!==b.propertyType&&!b.isSite&&null!=b.price&&(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(eT,{price:e6(b.price,b.currency,N),currencyLabel:N}),(0,i.jsx)(e0,{listingId:b.id}),(0,i.jsx)(eY,{})]}),(0,i.jsxs)(te,{title:"Legal & Ownership",icon:(0,i.jsx)(_.A,{sx:{fontSize:15}}),children:[(0,i.jsx)(tt,{label:"Ownership",value:b.ownershipType}),b.upi&&!b.isSite&&(0,i.jsx)(tt,{label:"UPI",children:(0,i.jsx)(e9,{upi:b.upi})}),(0,i.jsx)(tt,{label:"Title Deed",value:b.titleDeedAvailable?"Available":null})]}),(0,i.jsx)(eo,{anchor:es}),(0,i.jsx)(o.A,{sx:{height:{xs:"96px",lg:0}}})]}),(0,i.jsx)(o.A,{sx:{display:{xs:"none",lg:"block"},position:"sticky",top:"calc(".concat(e4.sm,"px + 24px)"),minWidth:0},children:(0,i.jsx)(tr,{priceStr:el,priceNegotiable:b.priceNegotiable,waHref:ed,listedAt:b.listedAt,realtorName:null==(c=b.contactInfo)?void 0:c.name,realtorRole:null==(x=b.contactInfo)?void 0:x.role,currency:N,onCurrencyChange:E,listingId:b.id,listingTitle:b.title})})]})}),(0,i.jsx)(ec.A,{})]})]}),(0,i.jsx)(z.A,{open:V.open,autoHideDuration:3e3,onClose:()=>X(e=>({...e,open:!1})),anchorOrigin:{vertical:"bottom",horizontal:"center"},sx:{bottom:{xs:"96px !important",lg:"24px !important"}},children:(0,i.jsx)(F.A,{severity:V.severity,variant:"filled",sx:{borderRadius:"14px",fontWeight:600,fontFamily:'"Plus Jakarta Sans",sans-serif'},children:V.message})}),!S&&b&&(0,i.jsxs)(o.A,{sx:{display:{xs:"flex",lg:"none"},position:"fixed",bottom:0,left:0,right:0,zIndex:1400,alignItems:"center",gap:"10px",px:"16px",pt:"12px",pb:"max(12px,env(safe-area-inset-bottom,12px))",background:"rgba(255,255,255,0.96)",backdropFilter:"blur(20px)",WebkitBackdropFilter:"blur(20px)",borderTop:"1px solid rgba(220,232,226,0.9)",boxShadow:"0 -8px 36px rgba(15,118,110,0.12)"},children:[(0,i.jsxs)(o.A,{sx:{flexShrink:0,minWidth:0},children:[(0,i.jsx)(l.A,{sx:{fontFamily:'"Plus Jakarta Sans",sans-serif',fontSize:"9px",color:"#94a3b8",fontWeight:700,textTransform:"uppercase",letterSpacing:"1px",lineHeight:1},children:"Price"}),(0,i.jsx)(l.A,{sx:{fontFamily:'"Plus Jakarta Sans",sans-serif',fontSize:"13px",fontWeight:900,color:"#0c1a14",lineHeight:1.3,letterSpacing:"-0.02em",mt:"2px",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",maxWidth:"110px"},children:el})]}),(0,i.jsx)(j.A,{fullWidth:!0,component:"a",href:ed,target:"_blank",rel:"noopener noreferrer",onClick:()=>(0,eJ.m9)({contentId:b.id,contentName:b.title,method:"whatsapp"}),startIcon:(0,i.jsx)(L.A,{sx:{fontSize:"20px !important"}}),sx:{fontFamily:'"Plus Jakarta Sans",sans-serif',fontWeight:800,textTransform:"none",borderRadius:"14px",py:"13px",fontSize:"14px",background:"linear-gradient(135deg,#22c55e,#15803d)",color:"#fff",boxShadow:"0 4px 18px rgba(34,197,94,0.3)",letterSpacing:"-0.01em","&:hover":{filter:"brightness(1.07)"}},children:"WhatsApp"}),(0,i.jsx)(g.A,{component:"a",href:"tel:".concat(e2.phone),onClick:()=>(0,eJ.m9)({contentId:b.id,contentName:b.title,method:"call"}),sx:{width:50,height:50,flexShrink:0,borderRadius:"14px",background:"#f0fdf9",border:"1.5px solid rgba(15,118,110,0.22)",color:"#0f766e","&:hover":{background:"#dcfce7"}},children:(0,i.jsx)(B.A,{sx:{fontSize:22}})})]})]})}}},e=>{var t=t=>e(e.s=t);e.O(0,[4938,5937,2834,9017,2746,2124,412,1076,4464,8865,1675,4794,6781,1912,8058,4518,7835,6692,636,6593,8792],()=>t(34228)),_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.