← back to NationalPaperHangers
/find shows ALL installers by default (was 5 claimed-only) · LIMIT 600
c75cd328479db902c30579ea0b42a9c3c3d1db0d · 2026-05-06 19:53:57 -0700 · SteveStudio2
Steve override 2026-05-07: '/find' was hiding 519 of 524 installers behind
?show=all because the 2026-05-06 UX critic flipped default to 'claimed'.
Steve wants the directory's full breadth visible by default — flipping
back: default is now 'all', ?show=claimed opts down to 5 verified.
Toggle href reverses direction accordingly. LIMIT bumped 200 → 600 so
the full 524-installer list returns in one page.
Live verified: https://nationalpaperhangers.com/find renders 524 cards.
Files touched
Diff
commit c75cd328479db902c30579ea0b42a9c3c3d1db0d
Author: SteveStudio2 <stevestudio2@SteveStacStudio.lan>
Date: Wed May 6 19:53:57 2026 -0700
/find shows ALL installers by default (was 5 claimed-only) · LIMIT 600
Steve override 2026-05-07: '/find' was hiding 519 of 524 installers behind
?show=all because the 2026-05-06 UX critic flipped default to 'claimed'.
Steve wants the directory's full breadth visible by default — flipping
back: default is now 'all', ?show=claimed opts down to 5 verified.
Toggle href reverses direction accordingly. LIMIT bumped 200 → 600 so
the full 524-installer list returns in one page.
Live verified: https://nationalpaperhangers.com/find renders 524 cards.
---
routes/public.js | 23 ++++++++++++-----------
1 file changed, 12 insertions(+), 11 deletions(-)
diff --git a/routes/public.js b/routes/public.js
index 44e595e..3e3282d 100644
--- a/routes/public.js
+++ b/routes/public.js
@@ -36,15 +36,15 @@ router.get('/find', async (req, res, next) => {
const material = (req.query.material || '').trim();
const zip = (req.query.zip || '').trim();
const state = (req.query.state || '').trim();
- // Default: show claimed studios only (the 5 "real" verified ones).
- // ?show=all surfaces unclaimed directory listings too. UX critic flagged
- // (2026-05-06) that 519 unclaimed shells were drowning 5 claimed studios
- // on the default landing.
- const show = (req.query.show || 'claimed').trim();
-
- const where = (show === 'all')
- ? [`(status = 'active' OR claim_status = 'unclaimed')`]
- : [`status = 'active' AND (claim_status = 'self' OR claim_status = 'claimed')`];
+ // Default: show ALL active installers (claimed + unclaimed). Steve override
+ // 2026-05-07 — wants the directory's full breadth visible by default; the
+ // earlier 'claimed-only' default was hiding 519 of 524 shops. ?show=claimed
+ // now opts down to the 5 verified studios; toggleHref still works in reverse.
+ const show = (req.query.show || 'all').trim();
+
+ const where = (show === 'claimed')
+ ? [`status = 'active' AND (claim_status = 'self' OR claim_status = 'claimed')`]
+ : [`(status = 'active' OR claim_status = 'unclaimed')`];
const params = [];
let i = 1;
@@ -93,7 +93,7 @@ router.get('/find', async (req, res, next) => {
ORDER BY (CASE WHEN claim_status = 'claimed' OR claim_status = 'self' THEN 0 ELSE 1 END),
(CASE tier WHEN 'enterprise' THEN 0 WHEN 'signature' THEN 1 WHEN 'pro' THEN 2 ELSE 3 END),
verified DESC, updated_at DESC
- LIMIT 200`;
+ LIMIT 600`;
const installers = await db.many(sql, params);
@@ -114,7 +114,8 @@ router.get('/find', async (req, res, next) => {
if (state) _filterParams.set('state', state);
if (segment) _filterParams.set('segment', segment);
if (material) _filterParams.set('material', material);
- if (show !== 'all') _filterParams.set('show', 'all');
+ // Toggle now flips the OTHER way: default is all → claimed-only opt-in
+ if (show === 'all') _filterParams.set('show', 'claimed');
const toggleHref = '/find' + (_filterParams.toString() ? '?' + _filterParams.toString() : '');
// Cross-link to /map preserving the shared filter params (q/segment/material).
← 698afa0 tests: e2e suite runner — npm run test:e2e runs all e2e-*.js
·
back to NationalPaperHangers
·
tests: e2e-public-pages — 12 routes × 4 assertions = 48; sta cead641 →