← back to Dw Photo Capture
Add ✨ New (N) filter chip (just the net-new sheet SKUs to create) + fix doubled name==color titles; verified create-on-photo end-to-end (Cremona Parchment created live w/ full info + deleted)
7e0a77def21290b896e48f2d40db3c4a974b027a · 2026-06-24 18:01:19 -0700 · steve@designerwallcoverings.com
Files touched
M data/build.jsonM server.js
Diff
commit 7e0a77def21290b896e48f2d40db3c4a974b027a
Author: steve@designerwallcoverings.com <steve@designerwallcoverings.com>
Date: Wed Jun 24 18:01:19 2026 -0700
Add ✨ New (N) filter chip (just the net-new sheet SKUs to create) + fix doubled name==color titles; verified create-on-photo end-to-end (Cremona Parchment created live w/ full info + deleted)
---
data/build.json | 5 +++--
server.js | 11 +++++++----
2 files changed, 10 insertions(+), 6 deletions(-)
diff --git a/data/build.json b/data/build.json
index e449a64..d30ab2b 100644
--- a/data/build.json
+++ b/data/build.json
@@ -1,5 +1,5 @@
{
- "next": 15,
+ "next": 16,
"map": {
"578af86f": 2,
"bc95fdb0": 3,
@@ -13,6 +13,7 @@
"76a90668": 11,
"5ef2ebe2": 12,
"788487db": 13,
- "3a1be30f": 14
+ "3a1be30f": 14,
+ "d0f0df55": 15
}
}
\ No newline at end of file
diff --git a/server.js b/server.js
index 0ea5571..7596f47 100644
--- a/server.js
+++ b/server.js
@@ -287,10 +287,13 @@ SHEET.forEach(x => { if (x.grs) SHEET_BY_GRS[x.grs.toUpperCase()] = x; });
const tcase = s => (s || '').split(/\s+/).map(w => w ? w[0].toUpperCase() + w.slice(1) : w).join(' ');
function sheetTitle(s) {
- const col = s.color ? ' ' + s.color : '';
- if (s.name) return `${s.name}${col} Grasscloth Wallcovering | Fentucci`;
- if (s.material) return `Fentucci ${s.material} Grasscloth Wallcovering${s.color ? ' — ' + s.color : ''}`;
- return `Fentucci Grasscloth Wallcovering${s.color ? ' — ' + s.color : ''}`;
+ const name = (s.name || '').trim(), color = (s.color || '').trim();
+ // drop a redundant color when the "name" already IS the color (some sheet rows duplicate them)
+ const nl = name.toLowerCase(), cl = color.toLowerCase();
+ const col = (color && nl !== cl && !nl.includes(cl) && !cl.includes(nl)) ? ' ' + color : '';
+ if (name) return `${name}${col} Grasscloth Wallcovering | Fentucci`;
+ if (s.material) return `Fentucci ${s.material} Grasscloth Wallcovering${color ? ' — ' + color : ''}`;
+ return `Fentucci Grasscloth Wallcovering${color ? ' — ' + color : ''}`;
}
function sheetBody(s) {
const lead = s.name || (s.material ? `Fentucci ${s.material} grasscloth` : 'This Fentucci grasscloth');
← 06a420e auto-save: 2026-06-24T17:58:43 (3 files) — data/build.json p
·
back to Dw Photo Capture
·
Add end-to-end test for All-Shopify search + keep/replace ph 6a655b4 →