[object Object]

← back to Rentv

closings: buyer/seller/broker are now clickable → filter the feed to that party's deals (every data point hrefs deeper); hover affordance

279335d4e978515dc3852deab9d8dd07905bb9c6 · 2026-08-05 14:40:21 -0700 · Steve Abrams

Files touched

Diff

commit 279335d4e978515dc3852deab9d8dd07905bb9c6
Author: Steve Abrams <steve@designerwallcoverings.com>
Date:   Wed Aug 5 14:40:21 2026 -0700

    closings: buyer/seller/broker are now clickable → filter the feed to that party's deals (every data point hrefs deeper); hover affordance
---
 public/closings.html | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/public/closings.html b/public/closings.html
index 89683827..6879147d 100644
--- a/public/closings.html
+++ b/public/closings.html
@@ -63,6 +63,7 @@
   .card .meta b{color:var(--ink)}
   .card .meta.parties{font-size:11px;gap:3px 8px}
   .card .meta.parties span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block}
+  .card .meta.parties .party{cursor:pointer;border-radius:4px}.card .meta.parties .party:hover{text-decoration:underline;color:var(--red)}
   .card .cardfoot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:10px;border-top:1px solid var(--line)}
   .card .more{font-size:12px;font-weight:700;color:var(--red);text-transform:uppercase;letter-spacing:.04em}
   .card .acts{display:flex;gap:6px}
@@ -235,7 +236,7 @@ function render(){
       <div class="body">
         <div class="addr">${esc(d.address||d.title)}</div>
         ${loc?`<div class="meta"><span>📍 <b>${esc(loc)}</b></span>${d.size_label?`<span>📐 ${esc(d.size_label)}</span>`:''}${d.year_built?`<span>🏗 ${esc(d.year_built)}</span>`:''}</div>`:''}
-        ${(d.buyer||d.seller||d.broker)?`<div class="meta parties">${d.buyer?`<span title="Buyer">🟢 <b>${esc(d.buyer)}</b></span>`:''}${d.seller?`<span title="Seller">🔴 ${esc(d.seller)}</span>`:''}${d.broker?`<span title="Broker">🤝 ${esc(d.broker)}</span>`:''}</div>`:''}
+        ${(d.buyer||d.seller||d.broker)?`<div class="meta parties">${d.buyer?`<span class="party" data-party="${esc(d.buyer)}" title="Buyer — click to see this party's deals">🟢 <b>${esc(d.buyer)}</b></span>`:''}${d.seller?`<span class="party" data-party="${esc(d.seller)}" title="Seller — click to filter">🔴 ${esc(d.seller)}</span>`:''}${d.broker?`<span class="party" data-party="${esc(d.broker)}" title="Broker — click to filter">🤝 ${esc(d.broker)}</span>`:''}</div>`:''}
         ${(d.address&&d.title)?`<h3>${esc(d.title)}</h3>`:''}
         <div class="cardfoot">
           ${story}
@@ -255,6 +256,10 @@ function render(){
       if(act==='restore')return restoreClosing(id);
     };
   });
+  // Party drilldown — click a buyer/seller/broker to filter the feed to that party (every data point hrefs deeper).
+  $('#grid').querySelectorAll('.party[data-party]').forEach(el=>{
+    el.onclick=(e)=>{e.stopPropagation();const p=el.getAttribute('data-party')||'';fQ=p.toLowerCase();$('#q').value=p;render();};
+  });
 }
 
 // ── editor modal ──

← 1663154b PR intel: CRM name/title hygiene tool (byline + trailing-pun  ·  back to Rentv  ·  RENTV: Deals page → backend-only + editable override layer ( d7aca3d5 →