[object Object]

← back to Saloonwallpaper

Mount new-arrivals promo strip (Tier B): require ../_shared/_universal-promo-banner before express.static — text-only rotating 'New · <product> →' banner from /api/products?sort=newest. Local only; deploy gated.

45c27e4e1784233c01a4321b0b58f43e911b7899 · 2026-06-19 16:33:21 -0700 · Steve

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

Files touched

Diff

commit 45c27e4e1784233c01a4321b0b58f43e911b7899
Author: Steve <steve@designerwallcoverings.com>
Date:   Fri Jun 19 16:33:21 2026 -0700

    Mount new-arrivals promo strip (Tier B): require ../_shared/_universal-promo-banner before express.static — text-only rotating 'New · <product> →' banner from /api/products?sort=newest. Local only; deploy gated.
    
    Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
---
 server.js | 1 +
 1 file changed, 1 insertion(+)

diff --git a/server.js b/server.js
index 47bc9c4..9210be1 100644
--- a/server.js
+++ b/server.js
@@ -214,6 +214,7 @@ for (const [route, file] of Object.entries(CLEAN_URLS)) {
 app.get(/^\/(care|history|sourcing|trade)\.html$/i, (req, res) => res.redirect(301, '/' + req.params[0].toLowerCase()));
 app.get('/index.html', (req, res) => res.redirect(301, '/'));
 
+require('../_shared/_universal-promo-banner')(app, {}); // new-arrivals promo strip (Tier B)
 app.use(express.static(path.join(__dirname, 'public')));
 
 // Shared filter — apply q/aesthetic/vendor, optionally skipping one dimension

← 6b60307 fix: safeImg allow same-origin /img/ proxy urls (vendor-neut  ·  back to Saloonwallpaper  ·  corner-nav: move login to its own hamburger in upper-left (p 7b7a17a →