← back to Designerwallcoverings
chore: lint, refactor, v0.1.12 (session close) — TK-11307
6e51d272015f740b1d06dffebcb17a38932dee5c · 2026-09-10 09:46:03 -0700 · Steve Abrams
Render-skip is now genuinely case-insensitive (downcase the tag list, then
exact-match 'showroomonly') — the previous 3-literal-casing check silently
missed e.g. SHOWROOMONLY. Extracted SHOWROOM_TAG in the JS backstop.
10/10 consumer-agreement suite green. Theme PUSH remains Steve-gated.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Files touched
M package-lock.jsonM package.jsonM scripts/tk11186-showroom-hide/theme-deploy/hide-browse-hidden.liquidM scripts/tk11186-showroom-hide/theme-deploy/product-list-item.liquid
Diff
commit 6e51d272015f740b1d06dffebcb17a38932dee5c
Author: Steve Abrams <steve@designerwallcoverings.com>
Date: Thu Sep 10 09:46:03 2026 -0700
chore: lint, refactor, v0.1.12 (session close) — TK-11307
Render-skip is now genuinely case-insensitive (downcase the tag list, then
exact-match 'showroomonly') — the previous 3-literal-casing check silently
missed e.g. SHOWROOMONLY. Extracted SHOWROOM_TAG in the JS backstop.
10/10 consumer-agreement suite green. Theme PUSH remains Steve-gated.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
---
package-lock.json | 4 ++--
package.json | 2 +-
.../tk11186-showroom-hide/theme-deploy/hide-browse-hidden.liquid | 3 ++-
.../tk11186-showroom-hide/theme-deploy/product-list-item.liquid | 9 +++++++--
4 files changed, 12 insertions(+), 6 deletions(-)
diff --git a/package-lock.json b/package-lock.json
index 718b5f2..744d758 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "designerwallcoverings-ai",
- "version": "0.1.11",
+ "version": "0.1.12",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "designerwallcoverings-ai",
- "version": "0.1.11",
+ "version": "0.1.12",
"dependencies": {
"express": "^4.19.2",
"multer": "^2.0.1"
diff --git a/package.json b/package.json
index 7d84c5d..ae35b5c 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "designerwallcoverings-ai",
- "version": "0.1.11",
+ "version": "0.1.12",
"private": true,
"description": "designerwallcoverings.ai — AI room-render landing. Upload a room photo, get matching wallcoverings.",
"main": "server.js",
diff --git a/scripts/tk11186-showroom-hide/theme-deploy/hide-browse-hidden.liquid b/scripts/tk11186-showroom-hide/theme-deploy/hide-browse-hidden.liquid
index 46fe421..16ced71 100644
--- a/scripts/tk11186-showroom-hide/theme-deploy/hide-browse-hidden.liquid
+++ b/scripts/tk11186-showroom-hide/theme-deploy/hide-browse-hidden.liquid
@@ -40,6 +40,7 @@
</style>
<script>
(function(){
+ var SHOWROOM_TAG = 'showroomonly'; // TK-11307 — mirrors fix-live-board/config/showroom-vendor.cjs SHOWROOM_TAG
var HIDDEN = [{%- for v in showroom_vendors -%}{%- assign vt = v | strip -%}{%- if vt != blank -%}{{ vt | json }}{%- unless forloop.last -%},{%- endunless -%}{%- endif -%}{%- endfor -%}].map(function(s){return String(s).trim().toLowerCase();});
if (!HIDDEN.length) return;
var CARD_SEL = '.product-list-item, .boost-sd__product-item, [class*="product-item"], [class*="product-card"], article, .boost-sd__product';
@@ -64,7 +65,7 @@
// NOTE: no card currently emits data-tags, so this backstop selects nothing today;
// Boost/AJAX coverage is NOT delivered by this hook (see the gated deploy note).
document.querySelectorAll('[data-tags]').forEach(function(el){
- if (String(el.getAttribute('data-tags')||'').split(',').map(function(t){ return t.trim().toLowerCase(); }).indexOf('showroomonly') > -1){
+ if (String(el.getAttribute('data-tags')||'').split(',').map(function(t){ return t.trim().toLowerCase(); }).indexOf(SHOWROOM_TAG) > -1){
var c = el.closest(CARD_SEL) || el; if (c && c.style.display !== 'none') c.style.display = 'none';
}
});
diff --git a/scripts/tk11186-showroom-hide/theme-deploy/product-list-item.liquid b/scripts/tk11186-showroom-hide/theme-deploy/product-list-item.liquid
index c771b5a..e5a99ee 100644
--- a/scripts/tk11186-showroom-hide/theme-deploy/product-list-item.liquid
+++ b/scripts/tk11186-showroom-hide/theme-deploy/product-list-item.liquid
@@ -31,8 +31,13 @@
# A showroom line under a SHARED private label (MDC under 'Phillipe Romano', which also
# carries sellable lines) is suppressed by its own tag WITHOUT hiding the vendor. The
# tag applier stamps 'ShowroomOnly' on exactly the showroom products; sellable siblings keep
- # rendering. Case-insensitive: check both 'Showroom' and 'showroom'.
- if product.tags contains 'ShowroomOnly' or product.tags contains 'showroomonly' or product.tags contains 'Showroomonly'
+ # rendering. Fully case-insensitive (downcase the whole tag list, then exact-match
+ # 'showroomonly') — mirrors the canonical hasShowroomTag() in fix-live-board's
+ # showroom-vendor.cjs. Checking only 3 literal casings ('ShowroomOnly'/'showroomonly'/
+ # 'Showroomonly') was NOT actually case-insensitive: any other casing (e.g. 'SHOWROOMONLY',
+ # 'ShowroomONLY') would silently fail to match.
+ assign showroom_tags_downcased = product.tags | join: ',' | downcase | split: ','
+ if showroom_tags_downcased contains 'showroomonly'
assign is_showroom_vendor = true
endif
-%}
← 077ac09 guard TK-11357 Fix D: don't stock a $0 Roll in osborne roll-
·
back to Designerwallcoverings
·
auto-data-snapshot: 2026-09-10T10:01:38 (3 data files) — scr c825f58 →