[object Object]

← back to Commercialrealestate

broker-grid: agent name -> /agent.html?name= (our profile page, never crexi); card body keeps contact modal

83593fef34fe334433b996aac2f055131e15a26a · 2026-08-19 09:13:18 -0700 · Steve Abrams

Files touched

Diff

commit 83593fef34fe334433b996aac2f055131e15a26a
Author: Steve Abrams <steve@designerwallcoverings.com>
Date:   Wed Aug 19 09:13:18 2026 -0700

    broker-grid: agent name -> /agent.html?name= (our profile page, never crexi); card body keeps contact modal
---
 public/broker-grid.html | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/public/broker-grid.html b/public/broker-grid.html
index da811af..2e54960 100644
--- a/public/broker-grid.html
+++ b/public/broker-grid.html
@@ -381,7 +381,11 @@ async function openContact(name,id){
     +((d.comps&&d.comps.length)?'<div class="sec"><h4>Sales — area sold ('+d.comps.length+')</h4>'+d.comps.map(c=>'<div class="litem"><span>'+esc(c.address)+', '+esc(c.city)+(c.beds?' · '+c.beds+'bd':'')+(c.baths?'/'+c.baths+'ba':'')+(c.sqft?' · '+Number(c.sqft).toLocaleString()+'sf':'')+'</span><span class="m">'+money(c.sold_price)+' · '+fdate(c.sold_date)+(c.mls?' · MLS '+esc(c.mls):'')+(c.url?' · <a href="'+esc(c.url)+'" target="_blank" rel="noopener noreferrer">↗</a>':'')+'</span></div>').join('')+'</div>':'')
     +((!(d.closed&&d.closed.length)||!(d.expired&&d.expired.length))?'<div class="mut" style="margin-top:6px;opacity:.85">📊 Coverage: active listings only'+(d.current.length?'':' — none attributed here yet')+'. '+[!(d.closed&&d.closed.length)?'closed':'',!(d.expired&&d.expired.length)?'withdrawn/expired':''].filter(Boolean).join(' & ')+' history isn’t in free public records (needs a paid records source).</div>':'');
 }
-document.addEventListener('click',e=>{ const fm=e.target.closest('.findmail'); if(fm){ findEmail(fm.dataset.id); return; } const row=e.target.closest('.brow'); if(row && e.target.tagName!=='A' && e.target.tagName!=='BUTTON'){ openContact(row.dataset.name,row.dataset.id); } if(e.target.id==='ov') $('#ov').classList.remove('on'); });
+document.addEventListener('click',e=>{ const fm=e.target.closest('.findmail'); if(fm){ findEmail(fm.dataset.id); return; }
+  const nm=e.target.closest('.nm,.tv-la'); const nrow=nm&&nm.closest('.brow'); if(nrow){ location.href='/agent.html?name='+encodeURIComponent(nrow.dataset.name); return; } // agent NAME -> our own profile page (Steve 2026-08-19: never crexi)
+  const row=e.target.closest('.brow'); if(row && e.target.tagName!=='A' && e.target.tagName!=='BUTTON'){ openContact(row.dataset.name,row.dataset.id); } if(e.target.id==='ov') $('#ov').classList.remove('on'); });
+/* make agent names look clickable */
+(function(){var s=document.createElement('style');s.textContent='.nm,.tv-la{cursor:pointer}.nm:hover,.tv-la:hover{text-decoration:underline;color:var(--blue)}';document.head.appendChild(s);})();
 $('#thead').addEventListener('click',e=>{
   // A click on the resize handle (or the tail of a resize drag) must NOT sort —
   // otherwise grabbing/double-clicking the handle re-renders the thead mid-gesture,

← 84a87bc CRCP firms: roster brokers now deep-link to their canonical  ·  back to Commercialrealestate  ·  CRCP: every agent opens its own page — link agent names in t b422f11 →