← 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
M public/commercial-property.htmlM public/listings.html
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 →