[object Object]

← back to Ventura Corridor

iter 67: 'Walk here next' priority strip on /today.html — top-5 walkable buildings rendered as compact cards directly under the day-hero (before velocity chart, before activity feed); each card shows order # + miles + bldg address + unpitched count + total tenants; click → /buildings.html?bldg= deep-link auto-expands the roster; DW building auto-highlights with ⚡ + metal-glow border; reads from existing /api/buildings/priority?max_miles=0.5&min_unpitched=2&limit=5; surfaces the daily action queue at the top of the home page (top 5 = 15821/15260/15456/15303/15300 with 1181 unpitched doors total)

eb0c9982983a13cbfd0efe6d04ba6eaa7c76ff8d · 2026-05-06 15:06:18 -0700 · SteveStudio2

Files touched

Diff

commit eb0c9982983a13cbfd0efe6d04ba6eaa7c76ff8d
Author: SteveStudio2 <steve@designerwallcoverings.com>
Date:   Wed May 6 15:06:18 2026 -0700

    iter 67: 'Walk here next' priority strip on /today.html — top-5 walkable buildings rendered as compact cards directly under the day-hero (before velocity chart, before activity feed); each card shows order # + miles + bldg address + unpitched count + total tenants; click → /buildings.html?bldg= deep-link auto-expands the roster; DW building auto-highlights with ⚡ + metal-glow border; reads from existing /api/buildings/priority?max_miles=0.5&min_unpitched=2&limit=5; surfaces the daily action queue at the top of the home page (top 5 = 15821/15260/15456/15303/15300 with 1181 unpitched doors total)
---
 public/today.html | 39 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 39 insertions(+)

diff --git a/public/today.html b/public/today.html
index 119fcc0..689bdda 100644
--- a/public/today.html
+++ b/public/today.html
@@ -135,6 +135,14 @@
   </div>
 </section>
 
+<section style="padding:20px 32px;border-bottom:1px solid var(--rule);background:radial-gradient(ellipse at top right, rgba(212,182,131,0.05), transparent 70%)">
+  <div style="display:flex;justify-content:space-between;align-items:baseline;margin-bottom:12px;flex-wrap:wrap;gap:10px">
+    <h3 style="font-family:var(--serif);font-style:italic;font-weight:400;font-size:22px;color:var(--metal-glow);margin:0">Walk here next</h3>
+    <a href="/buildings.html" style="color:var(--metal);text-decoration:none;font-size:10px;letter-spacing:.18em;text-transform:uppercase;border:1px solid var(--rule);padding:4px 10px">Full list ↗</a>
+  </div>
+  <div id="prio-strip" style="display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px"></div>
+</section>
+
 <section class="trend" style="padding:24px 32px;border-bottom:1px solid var(--rule);background:var(--noir-rise)">
   <div style="display:flex;justify-content:space-between;align-items:baseline;margin-bottom:16px;flex-wrap:wrap;gap:12px">
     <h3 style="font-family:var(--serif);font-style:italic;font-weight:400;font-size:22px;color:var(--metal);margin:0">14-day corridor velocity</h3>
@@ -478,6 +486,37 @@ async function loadActivity() {
 }
 loadActivity();
 setInterval(loadActivity, 60_000);
+
+// ─── Priority strip (iter 67) — top 5 walkable bldgs at the top of /today ──
+async function loadPrioStrip() {
+  try {
+    const data = await fetch('/api/buildings/priority?max_miles=0.5&min_unpitched=2&limit=5').then(r => r.json());
+    const rows = data.rows || [];
+    const strip = document.getElementById('prio-strip');
+    if (!rows.length) {
+      strip.innerHTML = `<div style="color:var(--ink-mute);padding:14px;font-style:italic">No unwalked walkable buildings — all priority targets done.</div>`;
+      return;
+    }
+    strip.innerHTML = rows.map((b, i) => {
+      const isDW = (b.bldg_address || '').startsWith('15442 ');
+      return `
+        <a href="/buildings.html?bldg=${encodeURIComponent(b.bldg_address)}" target="_blank" style="display:block;background:var(--noir-rise);border:1px solid ${isDW ? 'var(--metal-glow)' : 'var(--rule)'};padding:10px 12px;text-decoration:none;color:var(--ink)">
+          <div style="display:flex;justify-content:space-between;align-items:baseline;gap:8px">
+            <span style="font-family:var(--serif);font-style:italic;font-size:18px;color:var(--metal)">${String(i+1).padStart(2,'0')}</span>
+            <span style="font-family:var(--mono);font-size:9px;color:var(--metal-glow);letter-spacing:.1em">${b.dw_miles} mi</span>
+          </div>
+          <div style="font-family:var(--serif);font-size:14px;color:var(--ink);margin-top:2px">${b.bldg_address}${isDW ? ' ⚡' : ''}</div>
+          <div style="display:flex;gap:10px;font-size:9px;letter-spacing:.12em;color:var(--ink-mute);text-transform:uppercase;margin-top:6px">
+            <span><b style="color:var(--metal);font-family:var(--mono);font-size:13px">${b.unpitched}</b> unpitched</span>
+            <span style="color:var(--ink-mute)">/ ${b.tenants_total} tenants</span>
+          </div>
+        </a>`;
+    }).join('');
+  } catch (e) {
+    document.getElementById('prio-strip').innerHTML = `<div style="color:var(--ink-mute);padding:14px">priority load failed</div>`;
+  }
+}
+loadPrioStrip();
 </script>
 </body>
 </html>

← 4557347 iter 66: /pitches.html multi-select checkboxes for surgical  ·  back to Ventura Corridor  ·  iter 68: per-vertical conversion stats — /api/responses/by-v 43adaa8 →