[object Object]

← back to Nationalrealestate

TK-10139: surface Last Broker/Firm of Record — card on commercial-property.html + optional columns/facet on listings.html

e24220d9a6fd819cbc8adfd5959f3563428454bb · 2026-08-02 07:55:52 -0700 · Steve

Files touched

Diff

commit e24220d9a6fd819cbc8adfd5959f3563428454bb
Author: Steve <steve@designerwallcoverings.com>
Date:   Sun Aug 2 07:55:52 2026 -0700

    TK-10139: surface Last Broker/Firm of Record — card on commercial-property.html + optional columns/facet on listings.html
---
 public/commercial-property.html | 6 ++++++
 public/listings.html            | 3 +++
 2 files changed, 9 insertions(+)

diff --git a/public/commercial-property.html b/public/commercial-property.html
index b54b33e..b546d35 100644
--- a/public/commercial-property.html
+++ b/public/commercial-property.html
@@ -76,6 +76,12 @@ function dstr(d){return d?new Date(d).toLocaleDateString(undefined,{year:'numeri
       <div class="stat"><div class="k">Last Recorded</div><div class="v">${dstr(p.recording_date)}</div></div>
     </div>
     <div class="note">${p.pricing_note||''}</div>
+    <h2>Broker of Record</h2>
+    <div class="stats">
+      <div class="stat"><div class="k">Last Broker of Record</div><div class="v">${p.last_broker_of_record||'—'}</div></div>
+      <div class="stat"><div class="k">Last Firm of Record</div><div class="v${p.last_firm_of_record?' g':''}">${p.last_firm_of_record||'—'}</div></div>
+    </div>
+    ${p.last_broker_observed_at?`<div class="note">Broker/firm of record last observed ${dstr(p.last_broker_observed_at)}. Recorded from public listing activity; every change is logged (append-only history).</div>`:'<div class="note">No broker/firm of record recorded for this address yet.</div>'}
     <h2>Comparable ${p.type_label} Assets${p.city?` in ${p.city}`:''}</h2>
     <div class="row">${compRows.map(c=>`<a class="mini" href="/commercial-property.html?ain=${c.ain}">
       <div class="a">${c.address||'—'}</div>
diff --git a/public/listings.html b/public/listings.html
index d463b89..a2bcf96 100644
--- a/public/listings.html
+++ b/public/listings.html
@@ -87,6 +87,8 @@ const FIELDS = [
   { k:'baths',   l:'Baths',   def:true, num:true },
   { k:'sqft',    l:'Sq Ft',   def:true, num:true },
   { k:'firm_name', l:'Brokerage', def:true, badge:true },
+  { k:'last_firm_of_record', l:'Last Firm of Record', def:false },
+  { k:'last_broker_of_record', l:'Last Broker of Record', def:false },
   { k:'county_name', l:'County', def:true },
   { k:'status',  l:'Status',  def:true },
   { k:'source',  l:'Source',  def:true },
@@ -167,6 +169,7 @@ function render(){
     sort: { k: 'price', dir: -1 },
     facets: [
       { k: 'firm_name', l: 'Brokerage Firm', type: 'chip', max: 20 },
+      { k: 'last_firm_of_record', l: 'Last Firm of Record', type: 'chip', max: 20 },
       { k: 'source', l: 'Source Site', type: 'chip', max: 10 },
       { k: 'status', l: 'Status', type: 'chip', max: 8 },
       { k: 'state_code', l: 'State', type: 'chip', max: 10 },

← 9026471 TK-10139: expose last_broker_of_record + last_firm_of_record  ·  back to Nationalrealestate  ·  TK-10139: fix recorder change-detection — pg returns BIGINT 53836d2 →