← back to Philipperomano
fix: /p/:handle uses ENRICHED (junk-filtered) not raw DATA; /health reports post-filter count; add noreferrer to all target=_blank links
5895c844c124555cbd2dff754729ba8b7be75db5 · 2026-05-30 21:24:24 -0700 · Steve Abrams
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Files touched
Diff
commit 5895c844c124555cbd2dff754729ba8b7be75db5
Author: Steve Abrams <steve@designerwallcoverings.com>
Date: Sat May 30 21:24:24 2026 -0700
fix: /p/:handle uses ENRICHED (junk-filtered) not raw DATA; /health reports post-filter count; add noreferrer to all target=_blank links
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
---
server.js | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/server.js b/server.js
index 53959f4..84ad35e 100644
--- a/server.js
+++ b/server.js
@@ -640,7 +640,7 @@ app.get('/', (req, res) => {
</div>
<div class="actions">
<a href="/p/${esc(p.handle||'')}">View</a>
- <a class="cta" href="${esc(memoSampleUrl(p.handle))}" target="_blank" rel="noopener">Order Memo</a>
+ <a class="cta" href="${esc(memoSampleUrl(p.handle))}" target="_blank" rel="noopener noreferrer">Order Memo</a>
</div>
</article>
`).join('');
@@ -719,7 +719,7 @@ app.get('/', (req, res) => {
});
app.get('/p/:handle', (req, res) => {
- const p = DATA.find(x => x.handle === req.params.handle);
+ const p = ENRICHED.find(x => x.handle === req.params.handle);
if (!p) return res.status(404).set('Content-Type','text/html').send(layout('Not found', '<main><div class="empty">Product not found.</div></main>'));
const body = `
@@ -734,8 +734,8 @@ app.get('/p/:handle', (req, res) => {
<div class="row"><div class="k">Type</div><div>${esc(p.product_type)}</div></div>
${p.retail_price ? `<div class="row"><div class="k">Retail</div><div>$${parseFloat(p.retail_price).toFixed(2)} /yd</div></div>` : ''}
<div class="actions">
- <a class="btn-primary" href="${esc(memoSampleUrl(p.handle))}" target="_blank" rel="noopener">Order Memo Sample (free)</a>
- <a class="btn-secondary" href="${esc(shopifyUrl(p.handle))}" target="_blank" rel="noopener">Shop on DW</a>
+ <a class="btn-primary" href="${esc(memoSampleUrl(p.handle))}" target="_blank" rel="noopener noreferrer">Order Memo Sample (free)</a>
+ <a class="btn-secondary" href="${esc(shopifyUrl(p.handle))}" target="_blank" rel="noopener noreferrer">Shop on DW</a>
</div>
</div>
</div>
@@ -743,7 +743,7 @@ app.get('/p/:handle', (req, res) => {
res.set('Content-Type','text/html').send(layout(p.title, body));
});
-app.get('/health', (_req, res) => res.json({ ok: true, products: DATA.length, types: TYPES }));
+app.get('/health', (_req, res) => res.json({ ok: true, products: ENRICHED.length, types: TYPES }));
// Loopback-only on the local Mac. Set BIND=0.0.0.0 in prod env when needed.
const BIND = process.env.BIND || '127.0.0.1';
← 84c4840 feat(theme): add ?theme=N toggle to layout() — mirrors dw-do
·
back to Philipperomano
·
gitignore: add full backup-file pattern set (*.bak-*, *.pre- 6f1ad72 →