← back to Nationalrealestate
USRE nav: render one canonical nav across all pages via nav-drawer.js (fixes drift; active-by-URL) v0.5.1
6924dcd8a51b685c9fb1f3e30f8d65bfa1da86ef · 2026-07-26 16:39:43 -0700 · Steve
Files touched
M package-lock.jsonM package.jsonM public/nav-drawer.js
Diff
commit 6924dcd8a51b685c9fb1f3e30f8d65bfa1da86ef
Author: Steve <steve@designerwallcoverings.com>
Date: Sun Jul 26 16:39:43 2026 -0700
USRE nav: render one canonical nav across all pages via nav-drawer.js (fixes drift; active-by-URL) v0.5.1
---
package-lock.json | 4 ++--
package.json | 2 +-
public/nav-drawer.js | 20 ++++++++++++++++++++
3 files changed, 23 insertions(+), 3 deletions(-)
diff --git a/package-lock.json b/package-lock.json
index 1426d1c..510d8c6 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "nationalrealestate",
- "version": "0.5.0",
+ "version": "0.5.1",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "nationalrealestate",
- "version": "0.5.0",
+ "version": "0.5.1",
"dependencies": {
"better-sqlite3": "^13.0.1",
"dotenv": "^16.4.5",
diff --git a/package.json b/package.json
index c73e00a..d0a35a9 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "nationalrealestate",
- "version": "0.5.0",
+ "version": "0.5.1",
"private": true,
"type": "module",
"description": "USRealEstate — national U.S. residential market explorer. Free-data v1 (Redfin Data Center, Zillow Research, Census ACS, FHFA). Internal analyst tool behind basic auth.",
diff --git a/public/nav-drawer.js b/public/nav-drawer.js
index 60b3143..ec5f1b4 100644
--- a/public/nav-drawer.js
+++ b/public/nav-drawer.js
@@ -29,6 +29,26 @@
bar.parentNode && bar.parentNode.removeChild(bar);
}
+ // Canonical nav — render one identical link set on every page (marks the
+ // current page active by URL) so the nav never drifts page-to-page.
+ var NAV = [
+ ['/', 'Map'], ['/markets.html', 'Markets'], ['/commercial.html', 'Commercial'],
+ ['/compare.html', 'Compare'], ['/brokers.html', 'Brokers'], ['/sources.html', 'Sources'],
+ ['/watchlist.html', 'Watchlist'], ['/admin.html', 'Admin']
+ ];
+ var here = location.pathname.replace(/\/index\.html$/, '/');
+ var nav = body.querySelector('nav');
+ if (!nav) {
+ nav = document.createElement('nav');
+ var brand = body.querySelector('.brand');
+ if (brand && brand.nextSibling) body.insertBefore(nav, brand.nextSibling);
+ else body.insertBefore(nav, body.firstChild);
+ }
+ nav.innerHTML = NAV.map(function (x) {
+ var active = x[0] === here || (x[0] === '/' && (here === '' || here === '/'));
+ return '<a href="' + x[0] + '"' + (active ? ' class="active"' : '') + '>' + x[1] + '</a>';
+ }).join('');
+
document.body.appendChild(backdrop);
document.body.appendChild(drawer);
document.body.appendChild(burger);
← 9ca6907 Refine: add situs addresses to Sonoma/Maricopa/Thurston deed
·
back to Nationalrealestate
·
auto-save: 2026-07-26T16:44:36 (2 files) — public/crcp-grid. 02bd28c →