[object Object]

← back to Nationalrealestate

USRE grid: polished empty state — icon + message + one-click Clear all filters CTA (v0.7.1)

46b0b58bee46828561cc0a886c67dde9039bc793 · 2026-07-26 20:03:32 -0700 · Steve

Files touched

Diff

commit 46b0b58bee46828561cc0a886c67dde9039bc793
Author: Steve <steve@designerwallcoverings.com>
Date:   Sun Jul 26 20:03:32 2026 -0700

    USRE grid: polished empty state — icon + message + one-click Clear all filters CTA (v0.7.1)
---
 package-lock.json    | 4 ++--
 package.json         | 2 +-
 public/crcp-grid.css | 8 +++++++-
 public/crcp-grid.js  | 8 +++++++-
 4 files changed, 17 insertions(+), 5 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index a3d5d85..a3b7d3b 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,12 +1,12 @@
 {
   "name": "nationalrealestate",
-  "version": "0.7.0",
+  "version": "0.7.1",
   "lockfileVersion": 3,
   "requires": true,
   "packages": {
     "": {
       "name": "nationalrealestate",
-      "version": "0.7.0",
+      "version": "0.7.1",
       "dependencies": {
         "better-sqlite3": "^13.0.1",
         "dotenv": "^16.4.5",
diff --git a/package.json b/package.json
index c6b2c3c..23be7a3 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
 {
   "name": "nationalrealestate",
-  "version": "0.7.0",
+  "version": "0.7.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/crcp-grid.css b/public/crcp-grid.css
index a07f4a8..80bf9f1 100644
--- a/public/crcp-grid.css
+++ b/public/crcp-grid.css
@@ -55,7 +55,13 @@
 .cg-sub{font-size:12px;color:var(--cg-mut,#8b949e);}
 .cg-r{display:flex;justify-content:space-between;font-size:12px;gap:10px;}
 .cg-r .cg-k{color:var(--cg-mut,#8b949e);}
-.cg-empty{padding:50px;text-align:center;color:var(--cg-mut,#8b949e);}
+.cg-empty{padding:64px 24px;text-align:center;color:var(--cg-mut,#8b949e);display:flex;flex-direction:column;align-items:center;gap:8px;}
+.cg-empty-ic{font-size:40px;line-height:1;opacity:.5;}
+.cg-empty-t{font-size:18px;font-weight:700;color:var(--cg-ink,#e6edf3);}
+.cg-empty-s{font-size:13px;}
+.cg-empty-btn{margin-top:10px;text-decoration:none;background:var(--cg-acc,#58a6ff);color:var(--cg-railbg,#0b0e13);
+  border:0;border-radius:8px;padding:9px 18px;font-size:13px;font-weight:700;cursor:pointer;}
+.cg-empty-btn:hover{filter:brightness(1.08);}
 .cg-listwrap{overflow-x:auto;margin:18px;border:1px solid var(--cg-line,#2a313c);border-radius:12px;}
 .cg-tbl{width:100%;border-collapse:collapse;font-size:12.5px;white-space:nowrap;}
 .cg-tbl th,.cg-tbl td{text-align:right;padding:9px 13px;border-top:1px solid var(--cg-line,#2a313c);}
diff --git a/public/crcp-grid.js b/public/crcp-grid.js
index a7a36dd..0208f5c 100644
--- a/public/crcp-grid.js
+++ b/public/crcp-grid.js
@@ -230,7 +230,13 @@
       const shown = rows.length > CAP ? rows.slice(0, CAP) : rows;
       lastShown = shown;
       const g = $(O.mount + ' .cg-grid');
-      if (!rows.length) { g.className = 'cg-grid'; g.innerHTML = '<div class="cg-empty">no matches for these filters.</div>'; }
+      if (!rows.length) {
+        g.className = 'cg-grid';
+        g.innerHTML = '<div class="cg-empty"><div class="cg-empty-ic">⌕</div>' +
+          '<div class="cg-empty-t">No matches</div>' +
+          '<div class="cg-empty-s">No results match the current filters.</div>' +
+          '<button class="cg-af-clear cg-empty-btn" data-clearall="1">Clear all filters</button></div>';
+      }
       else if (VIEW === 'list') { g.className = 'cg-grid cg-listhost'; g.innerHTML = list(shown); }
       else { g.className = 'cg-grid'; g.innerHTML = cards(shown); }
       const cnt = $(O.mount + ' .cg-count');

← 966b628 USRE grid: CSV export honors active filters — export filtere  ·  back to Nationalrealestate  ·  USRE Map: left-rail county data-point filters in the drawer 27ca207 →