[object Object]

← back to Dw Substitute Viewer

viewer: multi-select subs → draft client letter (copy/download/email) + per-item image-URL override

4deee035595921b82fa38b2c07aff31b5513ffcd · 2026-07-07 13:55:24 -0700 · Steve

Files touched

Diff

commit 4deee035595921b82fa38b2c07aff31b5513ffcd
Author: Steve <steve@designerwallcoverings.com>
Date:   Tue Jul 7 13:55:24 2026 -0700

    viewer: multi-select subs → draft client letter (copy/download/email) + per-item image-URL override
---
 index.html | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++---------
 1 file changed, 135 insertions(+), 22 deletions(-)

diff --git a/index.html b/index.html
index af5030b..006e29d 100644
--- a/index.html
+++ b/index.html
@@ -5,11 +5,14 @@
 *{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;color:var(--ink);background:var(--bg)}
 header{padding:24px 32px 16px;border-bottom:1px solid var(--line);background:#fff}
 h1{margin:0 0 3px;font-size:21px;font-weight:600}.sub{color:var(--muted);font-size:13px}
-.wrap{max-width:1440px;margin:0 auto;padding:22px 32px 60px}
+.wrap{max-width:1440px;margin:0 auto;padding:22px 32px 96px}
 .orig{display:flex;gap:18px;align-items:center;background:#fff;border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:12px;padding:14px 16px;margin:18px 0 6px}
 .orig img{width:110px;height:110px;object-fit:cover;border-radius:8px;background:#eee;flex-shrink:0}
 .tagd{display:inline-block;background:var(--accent);color:#fff;font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;padding:3px 8px;border-radius:20px;margin-bottom:5px}
 .orig h2{margin:2px 0 4px;font-size:17px}.orig .attrs{color:var(--muted);font-size:13px;line-height:1.5}
+.imgurl{margin-top:7px;display:flex;gap:6px;align-items:center}
+.imgurl input{font:inherit;font-size:12px;padding:5px 8px;border:1px solid var(--line);border-radius:7px;width:340px;max-width:60vw}
+.imgurl span{font-size:11px;color:var(--muted)}
 .panel{display:flex;gap:26px;flex-wrap:wrap;align-items:flex-end;background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px 18px;margin:18px 0 14px}
 .ctl{display:flex;flex-direction:column;gap:4px;min-width:150px}
 .ctl label{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.4px;display:flex;justify-content:space-between}
@@ -19,19 +22,45 @@ select{padding:6px 10px;border:1px solid var(--line);border-radius:8px;backgroun
 .reset{margin-left:auto;align-self:center;font-size:12px;color:var(--muted);background:none;border:1px solid var(--line);border-radius:8px;padding:7px 12px;cursor:pointer}
 .count{color:var(--muted);font-size:13px;margin:0 0 10px}
 .grid{display:grid;grid-template-columns:repeat(var(--cols),1fr);gap:16px}
-.card{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;display:flex;flex-direction:column;text-decoration:none;color:inherit;transition:box-shadow .15s,transform .15s}
+.card{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .15s,transform .15s;position:relative}
 .card:hover{box-shadow:0 8px 22px rgba(0,0,0,.09);transform:translateY(-2px)}
+.card.sel{outline:2px solid var(--accent);outline-offset:-2px}
 .ph{position:relative;aspect-ratio:1/1;background:#efe9e0}.ph img{width:100%;height:100%;object-fit:cover;display:block}
-.rank{position:absolute;top:8px;left:8px;background:#1c1a17;color:#fff;font-size:12px;font-weight:600;min-width:24px;height:24px;padding:0 6px;border-radius:12px;display:flex;align-items:center;justify-content:center}
+.rank{position:absolute;top:8px;left:38px;background:#1c1a17;color:#fff;font-size:12px;font-weight:600;min-width:24px;height:24px;padding:0 6px;border-radius:12px;display:flex;align-items:center;justify-content:center}
+.pick{position:absolute;top:8px;left:8px;width:22px;height:22px;cursor:pointer;accent-color:var(--accent);z-index:2}
 .sw{position:absolute;top:8px;right:8px;font-size:10px;font-weight:600;color:#fff;background:rgba(0,0,0,.55);padding:3px 7px;border-radius:20px}
 .st{position:absolute;bottom:8px;left:8px;font-size:9.5px;font-weight:700;letter-spacing:.4px;color:#fff;padding:2px 6px;border-radius:4px}
 .st.ACTIVE{background:#2e7d32}.st.DRAFT{background:#8a6d1f}
+.editimg{position:absolute;bottom:8px;right:8px;font-size:11px;background:rgba(0,0,0,.55);color:#fff;border:none;border-radius:6px;padding:3px 7px;cursor:pointer}
 .body{padding:10px 12px 12px}.vend{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.4px}
 .title{font-size:13.5px;font-weight:600;margin:2px 0 4px;line-height:1.3}.meta{font-size:11.5px;color:#6b6255;line-height:1.5}
 .scorebar{height:4px;background:#eee;border-radius:3px;margin-top:8px;overflow:hidden}.scorebar i{display:block;height:100%;background:var(--accent)}
+.rowlink{display:inline-block;margin-top:8px;font-size:12px;color:var(--accent);text-decoration:none;font-weight:600}
+.imgedit{margin-top:8px;display:none}.imgedit.show{display:flex;gap:6px}
+.imgedit input{font:inherit;font-size:11px;padding:4px 7px;border:1px solid var(--line);border-radius:6px;width:100%}
 footer{color:var(--muted);font-size:12px;margin-top:28px;text-align:center}
+/* sticky action bar */
+.bar{position:fixed;left:0;right:0;bottom:0;background:#1c1a17;color:#fff;display:flex;align-items:center;gap:18px;padding:12px 32px;transform:translateY(110%);transition:transform .2s;z-index:20}
+.bar.show{transform:none}
+.bar b{font-size:15px}.bar .sp{margin-left:auto}
+.bar button{font:inherit;font-weight:600;border:none;border-radius:8px;padding:9px 16px;cursor:pointer}
+.bar .go{background:var(--accent);color:#fff}.bar .clr{background:transparent;color:#cfc7bd;border:1px solid #55504a}
+/* modal */
+.modal{position:fixed;inset:0;background:rgba(0,0,0,.5);display:none;align-items:center;justify-content:center;z-index:30;padding:20px}
+.modal.show{display:flex}
+.sheet{background:#fff;border-radius:14px;max-width:760px;width:100%;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}
+.sheet h3{margin:0;padding:16px 20px;border-bottom:1px solid var(--line);font-size:16px}
+.sheet .in{padding:14px 20px;overflow:auto}
+.frow{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:12px}
+.frow label{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.4px;display:flex;flex-direction:column;gap:4px;flex:1;min-width:180px}
+.frow input{font:inherit;padding:7px 10px;border:1px solid var(--line);border-radius:8px}
+.sheet textarea{width:100%;min-height:340px;font:13px/1.55 ui-monospace,Menlo,monospace;padding:12px;border:1px solid var(--line);border-radius:10px;resize:vertical}
+.sheet .foot{display:flex;gap:10px;padding:14px 20px;border-top:1px solid var(--line);flex-wrap:wrap}
+.sheet .foot button{font:inherit;font-weight:600;border:none;border-radius:8px;padding:9px 16px;cursor:pointer}
+.sheet .foot .go{background:var(--accent);color:#fff}.sheet .foot .sec{background:#efe9e0;color:#1c1a17}
+.sheet .foot .x{margin-left:auto;background:transparent;color:var(--muted);border:1px solid var(--line)}
 </style></head><body>
-<header><h1>Substitute Finder</h1><div class="sub">Nearest ACTIVE / DRAFT alternatives from the full dw_unified catalog · archived items never shown · drag the sliders to re-weight the match</div></header>
+<header><h1>Substitute Finder</h1><div class="sub">Nearest ACTIVE / DRAFT alternatives from the full dw_unified catalog · archived items never shown · drag the sliders to re-weight, tick items to draft a client letter</div></header>
 <div class="wrap"><div class="orig" id="orig"></div>
 <div class="panel" id="panel">
   <div class="ctl"><label>Material <b id="vMat"></b></label><input type="range" id="wMat" min="0" max="100"></div>
@@ -44,15 +73,51 @@ footer{color:var(--muted);font-size:12px;margin-top:28px;text-align:center}
 </div>
 <div class="count" id="count"></div>
 <div class="grid" id="grid"></div>
-<footer>Ranked by material + color + style + hue parity. Cards link to the live product page. Status badge shows ACTIVE/DRAFT.</footer></div>
+<footer>Ranked by material + color + style + hue parity. Tick 1+ cards → Draft letter. Cards link to the live product page.</footer></div>
+
+<div class="bar" id="bar"><b id="barN">0 selected</b><span>substitutes chosen for the client letter</span>
+  <span class="sp"></span><button class="clr" id="barClr">Clear</button><button class="go" id="barGo">Draft letter →</button></div>
+
+<div class="modal" id="modal"><div class="sheet">
+  <h3>Draft letter to client</h3>
+  <div class="in">
+    <div class="frow">
+      <label>Client name<input id="fClient" placeholder="e.g. Jane Doe"></label>
+      <label>Your name / signature<input id="fSender" value="Designer Wallcoverings"></label>
+    </div>
+    <textarea id="fBody"></textarea>
+  </div>
+  <div class="foot">
+    <button class="go" id="mCopy">Copy</button>
+    <button class="sec" id="mDl">Download .txt</button>
+    <button class="sec" id="mMail">Open in email</button>
+    <button class="x" id="mClose">Close</button>
+  </div>
+</div></div>
+
 <script>
-const T={"sku": "FVH-40402", "title": "Hairly Hide - Faux Vinyl Hide - Burnt Orange Spice | Hollywood Wallcoverings", "vendor": "Hollywood Wallcoverings", "status": "ACTIVE", "color": "Clay", "hue": 18, "material": "Faux Leather / Hide", "style": "Textured / Solid", "handle": "hairly-hide-faux-vinyl-hide-wallpaper-burnt-orange-spice-fvh-40402", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/files/fvh-40402-sample-hairly-hide-faux-vinyl-hide-burnt-orange-spice-hollywood.jpg?v=1775715526", "tags": "Architectural, Bold, Brown, Class A Fire Rated, color:Clay, Commercial, Contemporary, Faux Finish, Hollywood Wallcoverings, Orange, Textured, Vinyl, Wallcovering"}, SUBS=[{"sku": "UVL-1060", "vendor": "PR Faux Leather", "title": "American\u2122 Sports Basketball Vinyl Fabric - Fake PigSkin", "status": "ACTIVE", "handle": "basketball-fabric-original-vinyl-basketball-fabric-by-the-yard-uvl-1060", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/files/ScreenShot2023-08-08at7.24.44AM.png?v=1691504727", "price": "4.25", "material": "Faux Leather / Hide", "style": "Textured / Solid", "color": "Pumpkin", "hue": 24, "neutral": false}, {"sku": "WOV - 5040", "vendor": "PR Faux Leather", "title": "Roma-Basketweave Faux Leather - Truffle", "status": "ACTIVE", "handle": "roma-basketweave-faux-leather-truffle-wov-5040", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/060f4df3a813d5e7807990e4542e9db2.png?v=1572308960", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Espresso", "hue": 20, "neutral": false}, {"sku": "WOV - 5042", "vendor": "PR Faux Leather", "title": "Roma-Basketweave Faux Leather - Saddle", "status": "ACTIVE", "handle": "roma-basketweave-faux-leather-saddle-wov-5042", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/886b1a9a2d1b8328b3bbc0c25ccc23ad.png?v=1572308960", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Chestnut", "hue": 20, "neutral": false}, {"sku": "WOV - 5047", "vendor": "PR Faux Leather", "title": "Roma-Basketweave Faux Leather - Mocha", "status": "ACTIVE", "handle": "roma-basketweave-faux-leather-mocha-wov-5047", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/eaf65a28165f188b460a31e8be458453.png?v=1572308960", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Espresso", "hue": 20, "neutral": false}, {"sku": "CFL - 5076", "vendor": "PR Faux Leather", "title": "Milano Classic Faux Leather - Orange", "status": "ACTIVE", "handle": "milano-classic-faux-leather-orange-cfl-5076", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/4906d2608161d40126f2b588c4c79069.png?v=1572308961", "price": "", "material": "Faux Leather / Hide", "style": "Traditional", "color": "Paprika", "hue": 16, "neutral": false}, {"sku": "CFL - 5079", "vendor": "PR Faux Leather", "title": "Milano Classic Faux Leather - Metallic Copper", "status": "ACTIVE", "handle": "milano-classic-faux-leather-metallic-copper-cfl-5079", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/83656954bd22594bdd8435c828f2803b.png?v=1572308961", "price": "", "material": "Faux Leather / Hide", "style": "Traditional", "color": "Espresso", "hue": 20, "neutral": false}, {"sku": "CFL - 5073", "vendor": "PR Faux Leather", "title": "Milano Classic Faux Leather - Redwood", "status": "ACTIVE", "handle": "milano-classic-faux-leather-redwood-cfl-5073", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/ed02745e28b89c11b05e1f04abd84401.png?v=1572308961", "price": "", "material": "Faux Leather / Hide", "style": "Traditional", "color": "Espresso", "hue": 20, "neutral": false}, {"sku": "CFL - 5075", "vendor": "PR Faux Leather", "title": "Milano Classic Faux Leather - Plum", "status": "ACTIVE", "handle": "milano-classic-faux-leather-plum-cfl-5075", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/ea4eba9a18b7c6798e482d00fab3dba2.png?v=1572308961", "price": "", "material": "Faux Leather / Hide", "style": "Traditional", "color": "Espresso", "hue": 20, "neutral": false}, {"sku": "PEV - 5108", "vendor": "PR Faux Leather", "title": "Prive - Paisley Faux Leather - Cinnamon", "status": "ACTIVE", "handle": "prive-paisley-faux-leather-cinnamon-pev-5108", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/79dcebf613fef2d4fe4c833faf7ddd06.png?v=1572308962", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Chestnut", "hue": 20, "neutral": false}, {"sku": "AFL - 5117", "vendor": "PR Faux Leather", "title": "Ropari Antique Faux Leather - Cornhusk", "status": "ACTIVE", "handle": "ropari-antique-faux-leather-cornhusk-afl-5117", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/3c1513c4a17f44e85b4d706a7fefd5f1.png?v=1572308962", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Espresso", "hue": 20, "neutral": false}, {"sku": "AFL - 5122", "vendor": "PR Faux Leather", "title": "Ropari Antique Faux Leather - Vineyard", "status": "ACTIVE", "handle": "ropari-antique-faux-leather-vineyard-afl-5122", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/e46188cfed6bf45a17db19db6a42b0f3.png?v=1572308962", "price": "", "material": "Faux Leather / Hide", "style": "Floral / Botanical", "color": "Espresso", "hue": 20, "neutral": false}, {"sku": "AFL - 5113", "vendor": "PR Faux Leather", "title": "Ropari Antique Faux Leather - Rye", "status": "ACTIVE", "handle": "ropari-antique-faux-leather-rye-afl-5113", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/38636299791d53a8e5ac0733479f96e4.png?v=1572308962", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Espresso", "hue": 20, "neutral": false}, {"sku": "AFL - 5119", "vendor": "PR Faux Leather", "title": "Ropari Antique Faux Leather - Cedar", "status": "ACTIVE", "handle": "ropari-antique-faux-leather-cedar-afl-5119", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/3e75804e0176fe9e8e3d95bc0158a10d.png?v=1572308962", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Chestnut", "hue": 20, "neutral": false}, {"sku": "GFL - 5195", "vendor": "PR Faux Leather", "title": "Gator Faux - Faux Alligator - Chianti", "status": "ACTIVE", "handle": "gator-faux-faux-alligator-chianti-gfl-5195", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/7fb3823d4f99628587c01d88e17d2ca1.png?v=1572308965", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Espresso", "hue": 20, "neutral": false}, {"sku": "GFL - 5197", "vendor": "PR Faux Leather", "title": "Gator Faux - Faux Alligator - Caramel", "status": "ACTIVE", "handle": "gator-faux-faux-alligator-caramel-gfl-5197", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/f3aeae5aca9acbc014809c9c9e1ddbef.png?v=1572308965", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Chestnut", "hue": 20, "neutral": false}, {"sku": "NTT - 5269", "vendor": "PR Faux Leather", "title": "Urthfriendly TwoTone - Non-Pvc - Claret", "status": "ACTIVE", "handle": "urthfriendly-twotone-non-pvc-claret-ntt-5269", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/d50a51612777b7f1de85a060ae6c40ee.png?v=1572308965", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Espresso", "hue": 20, "neutral": false}, {"sku": "NTT - 5277", "vendor": "PR Faux Leather", "title": "Urthfriendly TwoTone - Non-Pvc - Expresso", "status": "ACTIVE", "handle": "urthfriendly-twotone-non-pvc-expresso-ntt-5277", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/c28599d41b1375db608de4be34e502ae.png?v=1572308965", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Espresso", "hue": 20, "neutral": false}, {"sku": "NTT - 5278", "vendor": "PR Faux Leather", "title": "Urthfriendly TwoTone - Non-Pvc - Espresso", "status": "ACTIVE", "handle": "urthfriendly-twotone-non-pvc-espresso-ntt-5278", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/723400308e69728be3554e8f93159d0c.png?v=1572308965", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Espresso", "hue": 20, "neutral": false}, {"sku": "SFL - 5308", "vendor": "PR Faux Leather", "title": "Cobra - Faux Snake Leather - Teakwood", "status": "ACTIVE", "handle": "cobra-faux-snake-leather-teakwood-sfl-5308", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/8921fac87556841cc9f9697197881f60.png?v=1572308966", "price": "", "material": "Faux Leather / Hide", "style": "Animal / Skin", "color": "Espresso", "hue": 20, "neutral": false}, {"sku": "GLA - 5335", "vendor": "PR Faux Leather", "title": "Glaze - Faux Vintage Leather - Walnut", "status": "ACTIVE", "handle": "glaze-faux-vintage-leather-walnut-gla-5335", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/2e78b626023ec8c68de64d5dc52f1fed.png?v=1572308967", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Espresso", "hue": 20, "neutral": false}, {"sku": "PEV - 5101", "vendor": "PR Faux Leather", "title": "Prive - Paisley Faux Leather - Acorn", "status": "ACTIVE", "handle": "prive-paisley-faux-leather-acorn-pev-5101", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/files/ScreenShot2023-11-01at8.14.54AM.png?v=1698851702", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Copper", "hue": 22, "neutral": false}, {"sku": "CFL - 5074", "vendor": "PR Faux Leather", "title": "Milano Classic Faux Leather - Pumpkin", "status": "ACTIVE", "handle": "milano-classic-faux-leather-pumpkin-cfl-5074", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/0699b41e9407eb99979537738385e380.png?v=1572308961", "price": "", "material": "Faux Leather / Hide", "style": "Traditional", "color": "Tobacco", "hue": 24, "neutral": false}, {"sku": "GFL - 5198", "vendor": "PR Faux Leather", "title": "Gator Faux - Faux Alligator - Brick", "status": "ACTIVE", "handle": "gator-faux-faux-alligator-brick-gfl-5198", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/884ce1a345b3a66dd27a4f3a5325aedc.png?v=1572308965", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Oxblood", "hue": 12, "neutral": false}, {"sku": "Dig-2011", "vendor": "DW Bespoke Studio", "title": "Anaconda Snake DigiWalls On Demand Printc - Pattern Design Lab", "status": "ACTIVE", "handle": "anaconda-snake-digiwalls-on-demand-printc-pattern-design-lab-dig-2011", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/540704fc07253ad651583498f7ab1b90.jpg?v=1572308930", "price": "", "material": "Faux Leather / Hide", "style": "Animal / Skin", "color": "Chocolate", "hue": 25, "neutral": false}, {"sku": "Faux Leather - Brown", "vendor": "PR Faux Leather", "title": "Classic Faux Leather - Brown", "status": "ACTIVE", "handle": "classic-faux-leather-brown-faux-leather-brown", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/24682f38058b3ddf20ff34f0112bb768.png?v=1572308938", "price": "", "material": "Faux Leather / Hide", "style": "Traditional", "color": "Jet", "hue": 25, "neutral": false}, {"sku": "Crocodile - Auburn", "vendor": "PR Faux Leather", "title": "Crocodile Faux Leather - Auburn", "status": "ACTIVE", "handle": "crocodile-faux-leather-auburn-crocodile-auburn", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/7ac23015915db7f675ff629871a5a497.png?v=1572308939", "price": "", "material": "Faux Leather / Hide", "style": "Animal / Skin", "color": "Brown", "hue": 25, "neutral": false}, {"sku": "WOV - 5044", "vendor": "PR Faux Leather", "title": "Roma-Basketweave Faux Leather - Orange", "status": "ACTIVE", "handle": "roma-basketweave-faux-leather-orange-wov-5044", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/3d292ba8c9dd855be260e5fb89729a13.png?v=1572308960", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Rust", "hue": 25, "neutral": false}, {"sku": "CFL - 5078", "vendor": "PR Faux Leather", "title": "Milano Classic Faux Leather - Metallic Gold", "status": "ACTIVE", "handle": "milano-classic-faux-leather-metallic-gold-cfl-5078", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/ae1842d5a7eaadc6cf02313ef7671a63.png?v=1572308961", "price": "", "material": "Faux Leather / Hide", "style": "Traditional", "color": "Chocolate", "hue": 25, "neutral": false}, {"sku": "GFL - 5194", "vendor": "PR Faux Leather", "title": "Gator Faux - Faux Alligator - Curry", "status": "ACTIVE", "handle": "gator-faux-faux-alligator-curry-gfl-5194", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/02532d246f8509ea0d2b9d0ad675e887.png?v=1572308964", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Chocolate", "hue": 25, "neutral": false}, {"sku": "NTT - 5282", "vendor": "PR Faux Leather", "title": "Urthfriendly TwoTone - Non-Pvc - Orange", "status": "ACTIVE", "handle": "urthfriendly-twotone-non-pvc-orange-ntt-5282", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/bac0947ff4812d10804b4324f167e139.png?v=1572308966", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Amber", "hue": 25, "neutral": false}, {"sku": "NTT - 5280", "vendor": "PR Faux Leather", "title": "Urthfriendly TwoTone - Non-Pvc - Rust", "status": "ACTIVE", "handle": "urthfriendly-twotone-non-pvc-rust-ntt-5280", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/e3c2a15da6482f707f28c350e59cffa3.png?v=1572308966", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Chocolate", "hue": 25, "neutral": false}, {"sku": "CFL - 5321", "vendor": "PR Faux Leather", "title": "Crochet Faux Leather - Walnut", "status": "DRAFT", "handle": "crochet-faux-leather-walnut-cfl-5321", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/f6bd8f89b3471e65e7b1f8f282926cfb.png?v=1572308967", "price": "", "material": "Faux Leather / Hide", "style": "Animal / Skin", "color": "Walnut", "hue": 28, "neutral": false}, {"sku": "Faux Leather - Tan", "vendor": "PR Faux Leather", "title": "Classic Faux Leather - Tan", "status": "ACTIVE", "handle": "classic-faux-leather-tan-faux-leather-tan", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/5f992853a148fc4141dd6de78eae4046.png?v=1572308939", "price": "", "material": "Faux Leather / Hide", "style": "Traditional", "color": "Coffee", "hue": 28, "neutral": false}, {"sku": "Crocodile - Coffee Cream", "vendor": "PR Faux Leather", "title": "Crocodile Faux Leather - Coffee Cream", "status": "ACTIVE", "handle": "crocodile-faux-leather-coffee-cream-crocodile-coffee-cream", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/9c865bd04d2d58cedeff6ebcedda0f64.png?v=1572308939", "price": "", "material": "Faux Leather / Hide", "style": "Animal / Skin", "color": "Buff", "hue": 28, "neutral": false}, {"sku": "WOV - 5048", "vendor": "PR Faux Leather", "title": "Roma-Basketweave Faux Leather - Khaki", "status": "ACTIVE", "handle": "roma-basketweave-faux-leather-khaki-wov-5048", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/f633bf87820e114347c5de181fb2e09e.png?v=1572308960", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Coffee", "hue": 28, "neutral": false}, {"sku": "WOV - 5052", "vendor": "PR Faux Leather", "title": "Roma-Basketweave Faux Leather - Canyon", "status": "ACTIVE", "handle": "roma-basketweave-faux-leather-canyon-wov-5052", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/2c180a1e08fb7cfeb368b862dab2c922.png?v=1572308960", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Walnut", "hue": 28, "neutral": false}, {"sku": "CFL - 5077", "vendor": "PR Faux Leather", "title": "Milano Classic Faux Leather - Nutmeg", "status": "ACTIVE", "handle": "milano-classic-faux-leather-nutmeg-cfl-5077", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/706b9e15eedc4b304ca0062646d6b1a0.png?v=1572308961", "price": "", "material": "Faux Leather / Hide", "style": "Traditional", "color": "Mocha", "hue": 28, "neutral": false}, {"sku": "CFL - 5086", "vendor": "PR Faux Leather", "title": "Milano Classic Faux Leather - Brandy", "status": "ACTIVE", "handle": "milano-classic-faux-leather-brandy-cfl-5086", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/9941f8661a6407391268547a4c13e5df.png?v=1572308961", "price": "", "material": "Faux Leather / Hide", "style": "Traditional", "color": "Walnut", "hue": 28, "neutral": false}, {"sku": "AFL - 5116", "vendor": "PR Faux Leather", "title": "Ropari Antique Faux Leather - Rust", "status": "ACTIVE", "handle": "ropari-antique-faux-leather-rust-afl-5116", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/e2c42eae915ae53bb4f92a1a6161865e.png?v=1572308962", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Mocha", "hue": 28, "neutral": false}, {"sku": "AFL - 5120", "vendor": "PR Faux Leather", "title": "Ropari Antique Faux Leather - Sepia", "status": "ACTIVE", "handle": "ropari-antique-faux-leather-sepia-afl-5120", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/d7276e4b90ca1de0409e38b2610a8ce1.png?v=1572308962", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Walnut", "hue": 28, "neutral": false}, {"sku": "GFL - 5193", "vendor": "PR Faux Leather", "title": "Gator Faux - Faux Alligator - Fern", "status": "ACTIVE", "handle": "gator-faux-faux-alligator-fern-gfl-5193", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/0e0f4e6fc15a106b921ccbd758c4b0af.png?v=1572308964", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Walnut", "hue": 28, "neutral": false}, {"sku": "NTT - 5279", "vendor": "PR Faux Leather", "title": "Urthfriendly TwoTone - Non-Pvc - Mocha", "status": "ACTIVE", "handle": "urthfriendly-twotone-non-pvc-mocha-ntt-5279", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/d7472bae1d6bfd5ff6000524a45faa33.png?v=1572308966", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Mocha", "hue": 28, "neutral": false}, {"sku": "NTT - 5281", "vendor": "PR Faux Leather", "title": "Urthfriendly TwoTone - Non-Pvc - Acorn", "status": "ACTIVE", "handle": "urthfriendly-twotone-non-pvc-acorn-ntt-5281", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/dc153dd7bef87a35e7bd6ee903f1a2fa.png?v=1572308966", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Walnut", "hue": 28, "neutral": false}, {"sku": "SFL - 5307", "vendor": "PR Faux Leather", "title": "Cobra - Faux Snake Leather - Rust", "status": "ACTIVE", "handle": "cobra-faux-snake-leather-rust-sfl-5307", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/f0c6ee2e6fe32645e7e98f5de3b36d46.png?v=1572308966", "price": "", "material": "Faux Leather / Hide", "style": "Animal / Skin", "color": "Walnut", "hue": 28, "neutral": false}, {"sku": "GLA - 5336", "vendor": "PR Faux Leather", "title": "Glaze - Faux Vintage Leather - Walnut", "status": "ACTIVE", "handle": "glaze-faux-vintage-leather-walnut-gla-5336", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/3953d719bb51792fda1ddd6b0f90e2a6.png?v=1572308967", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Ebony", "hue": 28, "neutral": false}, {"sku": "Faux Leather - Hunter", "vendor": "PR Faux Leather", "title": "Classic Faux Leather - Hunter", "status": "ACTIVE", "handle": "classic-faux-leather-hunter-faux-leather-hunter", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/63a45e2aea5c478cb41de70171316504.png?v=1572308939", "price": "", "material": "Faux Leather / Hide", "style": "Traditional", "color": "Midnight", "hue": 30, "neutral": true}, {"sku": "Faux Leather -Royal", "vendor": "PR Faux Leather", "title": "Classic Faux Leather - Royal", "status": "ACTIVE", "handle": "classic-faux-leather-royal-faux-leather-royal", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/9e963d17724d6b87ff2ada1fb9497133.png?v=1572308939", "price": "", "material": "Faux Leather / Hide", "style": "Traditional", "color": "Midnight", "hue": 30, "neutral": true}, {"sku": "Crocodile - Caramel", "vendor": "PR Faux Leather", "title": "Crocodile Faux Leather - Caramel", "status": "ACTIVE", "handle": "crocodile-faux-leather-caramel-crocodile-caramel", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/4ed459ca842ad94f51b80ebaa49bf9cc.png?v=1572308939", "price": "", "material": "Faux Leather / Hide", "style": "Animal / Skin", "color": "Cognac", "hue": 30, "neutral": false}, {"sku": "UAC-4010", "vendor": "PR Faux Leather", "title": "Anaconda Snake Patent Upholstery Vinyl - Grape", "status": "ACTIVE", "handle": "anaconda-snake-patent-upholstery-vinyl-grape-uac-4010", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/3525833feadb2a207891599608c92cf8.jpg?v=1572308940", "price": "", "material": "Faux Leather / Hide", "style": "Animal / Skin", "color": "Eggplant", "hue": 30, "neutral": true}, {"sku": "UAC-4020", "vendor": "PR Faux Leather", "title": "Anaconda Snake Patent Upholstery Vinyl - Ash", "status": "ACTIVE", "handle": "anaconda-snake-patent-upholstery-vinyl-ash-uac-4020", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/1dc6429f89277e38aebadddfbf7ae010.jpg?v=1572308940", "price": "", "material": "Faux Leather / Hide", "style": "Animal / Skin", "color": "Smoke", "hue": 30, "neutral": true}, {"sku": "WOV - 5049", "vendor": "PR Faux Leather", "title": "Roma-Basketweave Faux Leather - Hunter", "status": "ACTIVE", "handle": "roma-basketweave-faux-leather-hunter-wov-5049", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/005b79b233e0c40c9f6b5df4d69e9027.png?v=1572308960", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Ink", "hue": 30, "neutral": true}, {"sku": "WOV - 5057", "vendor": "PR Faux Leather", "title": "Roma Basketweave Faux Leather - Almond", "status": "ACTIVE", "handle": "roma-basketweave-faux-leather-almond-wov-5057", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/81d03896a99f0fa2f526ab3c3c394ab0.png?v=1572308960", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Brass", "hue": 30, "neutral": true}, {"sku": "WOV - 5055", "vendor": "PR Faux Leather", "title": "Roma-Basketweave Faux Leather - Birch", "status": "ACTIVE", "handle": "roma-basketweave-faux-leather-birch-wov-5055", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/fd62649d0170269cd50ba077f2f1a23b.png?v=1572308960", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Caramel", "hue": 30, "neutral": false}, {"sku": "CFL - 5071", "vendor": "PR Faux Leather", "title": "Milano Classic Faux Leather - Toffee", "status": "ACTIVE", "handle": "milano-classic-faux-leather-toffee-cfl-5071", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/a0e568738c20dd08273e18c90ba68f00.png?v=1572308961", "price": "", "material": "Faux Leather / Hide", "style": "Traditional", "color": "Jet", "hue": 30, "neutral": true}, {"sku": "CFL - 5081", "vendor": "PR Faux Leather", "title": "Milano Classic Faux Leather - Java", "status": "ACTIVE", "handle": "milano-classic-faux-leather-java-cfl-5081", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/f8e31a493142a78b6ac0f644a1f5d032.png?v=1572308961", "price": "", "material": "Faux Leather / Hide", "style": "Traditional", "color": "Jet", "hue": 30, "neutral": true}, {"sku": "PEV - 5102", "vendor": "PR Faux Leather", "title": "Prive - Paisley Faux Leather - Rouge", "status": "ACTIVE", "handle": "prive-paisley-faux-leather-rouge-pev-5102", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/files/ScreenShot2023-11-01at8.19.29AM.png?v=1698851979", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Oxblood", "hue": 30, "neutral": true}, {"sku": "PEV - 5106", "vendor": "PR Faux Leather", "title": "Prive - Paisley Faux Leather - Caramel", "status": "ACTIVE", "handle": "prive-paisley-faux-leather-caramel-pev-5106", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/25cbd9a306029f77407378dae1e6f2c9.png?v=1572308961", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Caramel", "hue": 30, "neutral": false}, {"sku": "AFL - 5125", "vendor": "PR Faux Leather", "title": "Ropari Antique Faux Leather - Flint", "status": "ACTIVE", "handle": "ropari-antique-faux-leather-flint-afl-5125", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/af13c4ef63ef22c3aaed82ff8fa7b1a6.png?v=1572308962", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Mushroom", "hue": 30, "neutral": true}, {"sku": "GFL - 5200", "vendor": "PR Faux Leather", "title": "Gator Faux - Faux Alligator - Birch", "status": "ACTIVE", "handle": "gator-faux-faux-alligator-birch-gfl-5200", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/8c267dd36699a7f3c791bbb6ae383373.png?v=1572308965", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Caramel", "hue": 30, "neutral": false}, {"sku": "NTT - 5261", "vendor": "PR Faux Leather", "title": "Urthfriendly TwoTone - Non-Pvc - Newport", "status": "ACTIVE", "handle": "urthfriendly-twotone-non-pvc-newport-ntt-5261", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/e143e474382135f59b43011eae14e339.png?v=1572308965", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Jet", "hue": 30, "neutral": true}, {"sku": "NTT - 5260", "vendor": "PR Faux Leather", "title": "Urthfriendly TwoTone - Non-Pvc - Ebony", "status": "ACTIVE", "handle": "urthfriendly-twotone-non-pvc-ebony-ntt-5260", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/a673260cec3740c916af71e2e8c94b7a.png?v=1572308965", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Jet", "hue": 30, "neutral": true}, {"sku": "NTT - 5270", "vendor": "PR Faux Leather", "title": "Urthfriendly TwoTone - Non-Pvc - Spring", "status": "ACTIVE", "handle": "urthfriendly-twotone-non-pvc-spring-ntt-5270", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/dd165fffdd8b364ee71c1eaa1100125c.png?v=1572308965", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Smoke", "hue": 30, "neutral": true}, {"sku": "NTT - 5274", "vendor": "PR Faux Leather", "title": "Urthfriendly TwoTone - Non-Pvc - Champagne", "status": "ACTIVE", "handle": "urthfriendly-twotone-non-pvc-champagne-ntt-5274", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/d1bacfb1ac4b0b9d2e27c0878d80d9fa.png?v=1572308965", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Mushroom", "hue": 30, "neutral": true}, {"sku": "NTT - 5276", "vendor": "PR Faux Leather", "title": "Urthfriendly TwoTone - Non-Pvc - Canyon", "status": "ACTIVE", "handle": "urthfriendly-twotone-non-pvc-canyon-ntt-5276", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/77fa56d4f54a7c84507ba5647f52fbe8.png?v=1572308965", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Oxblood", "hue": 30, "neutral": true}, {"sku": "NTT - 5283", "vendor": "PR Faux Leather", "title": "Urthfriendly TwoTone - Non-Pvc - Dessert", "status": "ACTIVE", "handle": "urthfriendly-twotone-non-pvc-dessert-ntt-5283", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/fa89c9cb454986eb031506a0a8047338.png?v=1572308966", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Vanilla", "hue": 30, "neutral": true}, {"sku": "SFL - 5309", "vendor": "PR Faux Leather", "title": "Cobra - Faux Snake Leather - Bordeaux", "status": "ACTIVE", "handle": "cobra-faux-snake-leather-bordeaux-sfl-5309", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/03aa593099a2d1a1b68b39ddd0f61784.png?v=1572308966", "price": "", "material": "Faux Leather / Hide", "style": "Animal / Skin", "color": "Jet", "hue": 30, "neutral": true}, {"sku": "SFL - 5310", "vendor": "PR Faux Leather", "title": "Cobra - Faux Snake Leather - Porcelain", "status": "ACTIVE", "handle": "cobra-faux-snake-leather-porcelain-sfl-5310", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/7fde3477a076aca79e88cca8be7d1b5c.png?v=1572308966", "price": "", "material": "Faux Leather / Hide", "style": "Animal / Skin", "color": "Smoke", "hue": 30, "neutral": true}, {"sku": "SFL - 5319", "vendor": "PR Faux Leather", "title": "Cobra - Faux Snake Leather - Vanilla", "status": "ACTIVE", "handle": "cobra-faux-snake-leather-vanilla-sfl-5319", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/3f0203fdcf3137d419140bddfd873766.png?v=1572308967", "price": "", "material": "Faux Leather / Hide", "style": "Animal / Skin", "color": "Mushroom", "hue": 30, "neutral": true}, {"sku": "SFL - 5320", "vendor": "PR Faux Leather", "title": "Cobra - Faux Snake Leather - Cloud", "status": "ACTIVE", "handle": "cobra-faux-snake-leather-cloud-sfl-5320", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/20279ced839c5564042725e7d7c841ec.png?v=1572308967", "price": "", "material": "Faux Leather / Hide", "style": "Animal / Skin", "color": "Linen", "hue": 30, "neutral": true}, {"sku": "GLA - 5329", "vendor": "PR Faux Leather", "title": "Glaze - Faux Vintage Leather - Parsley", "status": "ACTIVE", "handle": "glaze-faux-vintage-leather-parsley-gla-5329", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/b0532900538b476676c84ab76e72f0e0.png?v=1572308967", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Jet", "hue": 30, "neutral": true}, {"sku": "GLA - 5331", "vendor": "PR Faux Leather", "title": "Glaze - Faux Vintage Leather - Merlot", "status": "ACTIVE", "handle": "glaze-faux-vintage-leather-merlot-gla-5331", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/0040d9d82ac4e79b7b91dd1d04991f2a.png?v=1572308967", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Oxblood", "hue": 30, "neutral": true}, {"sku": "GLA - 5332", "vendor": "PR Faux Leather", "title": "Glaze - Faux Vintage Leather - FireRed", "status": "ACTIVE", "handle": "glaze-faux-vintage-leather-firered-gla-5332", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/3b38dbec1b0d007d2359bfa6b7006ac0.png?v=1572308967", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Red", "hue": 30, "neutral": true}], BASE="https://www.designerwallcoverings.com/products/";
+const T={"sku": "FVH-40402", "title": "Hairly Hide - Faux Vinyl Hide - Burnt Orange Spice | Hollywood Wallcoverings", "vendor": "Hollywood Wallcoverings", "status": "ACTIVE", "color": "Clay", "hue": 18, "material": "Faux Leather / Hide", "style": "Textured / Solid", "handle": "hairly-hide-faux-vinyl-hide-wallpaper-burnt-orange-spice-fvh-40402", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/files/fvh-40402-sample-hairly-hide-faux-vinyl-hide-burnt-orange-spice-hollywood.jpg?v=1775715526", "tags": "Architectural, Bold, Brown, Class A Fire Rated, color:Clay, Commercial, Contemporary, Faux Finish, Hollywood Wallcoverings, Orange, Textured, Vinyl, Wallcovering"}, SUBS=[{"sku": "UVL-1060", "vendor": "PR Faux Leather", "title": "American\u2122 Sports Basketball Vinyl Fabric - Fake PigSkin", "status": "ACTIVE", "handle": "basketball-fabric-original-vinyl-basketball-fabric-by-the-yard-uvl-1060", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/files/ScreenShot2023-08-08at7.24.44AM.png?v=1691504727", "price": "4.25", "material": "Faux Leather / Hide", "style": "Textured / Solid", "color": "Pumpkin", "hue": 24, "neutral": false}, {"sku": "WOV - 5040", "vendor": "PR Faux Leather", "title": "Roma-Basketweave Faux Leather - Truffle", "status": "ACTIVE", "handle": "roma-basketweave-faux-leather-truffle-wov-5040", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/060f4df3a813d5e7807990e4542e9db2.png?v=1572308960", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Espresso", "hue": 20, "neutral": false}, {"sku": "WOV - 5042", "vendor": "PR Faux Leather", "title": "Roma-Basketweave Faux Leather - Saddle", "status": "ACTIVE", "handle": "roma-basketweave-faux-leather-saddle-wov-5042", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/886b1a9a2d1b8328b3bbc0c25ccc23ad.png?v=1572308960", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Chestnut", "hue": 20, "neutral": false}, {"sku": "WOV - 5047", "vendor": "PR Faux Leather", "title": "Roma-Basketweave Faux Leather - Mocha", "status": "ACTIVE", "handle": "roma-basketweave-faux-leather-mocha-wov-5047", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/eaf65a28165f188b460a31e8be458453.png?v=1572308960", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Espresso", "hue": 20, "neutral": false}, {"sku": "CFL - 5073", "vendor": "PR Faux Leather", "title": "Milano Classic Faux Leather - Redwood", "status": "ACTIVE", "handle": "milano-classic-faux-leather-redwood-cfl-5073", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/ed02745e28b89c11b05e1f04abd84401.png?v=1572308961", "price": "", "material": "Faux Leather / Hide", "style": "Traditional", "color": "Espresso", "hue": 20, "neutral": false}, {"sku": "CFL - 5076", "vendor": "PR Faux Leather", "title": "Milano Classic Faux Leather - Orange", "status": "ACTIVE", "handle": "milano-classic-faux-leather-orange-cfl-5076", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/4906d2608161d40126f2b588c4c79069.png?v=1572308961", "price": "", "material": "Faux Leather / Hide", "style": "Traditional", "color": "Paprika", "hue": 16, "neutral": false}, {"sku": "CFL - 5075", "vendor": "PR Faux Leather", "title": "Milano Classic Faux Leather - Plum", "status": "ACTIVE", "handle": "milano-classic-faux-leather-plum-cfl-5075", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/ea4eba9a18b7c6798e482d00fab3dba2.png?v=1572308961", "price": "", "material": "Faux Leather / Hide", "style": "Traditional", "color": "Espresso", "hue": 20, "neutral": false}, {"sku": "CFL - 5079", "vendor": "PR Faux Leather", "title": "Milano Classic Faux Leather - Metallic Copper", "status": "ACTIVE", "handle": "milano-classic-faux-leather-metallic-copper-cfl-5079", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/83656954bd22594bdd8435c828f2803b.png?v=1572308961", "price": "", "material": "Faux Leather / Hide", "style": "Traditional", "color": "Espresso", "hue": 20, "neutral": false}, {"sku": "PEV - 5108", "vendor": "PR Faux Leather", "title": "Prive - Paisley Faux Leather - Cinnamon", "status": "ACTIVE", "handle": "prive-paisley-faux-leather-cinnamon-pev-5108", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/79dcebf613fef2d4fe4c833faf7ddd06.png?v=1572308962", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Chestnut", "hue": 20, "neutral": false}, {"sku": "AFL - 5113", "vendor": "PR Faux Leather", "title": "Ropari Antique Faux Leather - Rye", "status": "ACTIVE", "handle": "ropari-antique-faux-leather-rye-afl-5113", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/38636299791d53a8e5ac0733479f96e4.png?v=1572308962", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Espresso", "hue": 20, "neutral": false}, {"sku": "AFL - 5119", "vendor": "PR Faux Leather", "title": "Ropari Antique Faux Leather - Cedar", "status": "ACTIVE", "handle": "ropari-antique-faux-leather-cedar-afl-5119", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/3e75804e0176fe9e8e3d95bc0158a10d.png?v=1572308962", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Chestnut", "hue": 20, "neutral": false}, {"sku": "AFL - 5117", "vendor": "PR Faux Leather", "title": "Ropari Antique Faux Leather - Cornhusk", "status": "ACTIVE", "handle": "ropari-antique-faux-leather-cornhusk-afl-5117", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/3c1513c4a17f44e85b4d706a7fefd5f1.png?v=1572308962", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Espresso", "hue": 20, "neutral": false}, {"sku": "AFL - 5122", "vendor": "PR Faux Leather", "title": "Ropari Antique Faux Leather - Vineyard", "status": "ACTIVE", "handle": "ropari-antique-faux-leather-vineyard-afl-5122", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/e46188cfed6bf45a17db19db6a42b0f3.png?v=1572308962", "price": "", "material": "Faux Leather / Hide", "style": "Floral / Botanical", "color": "Espresso", "hue": 20, "neutral": false}, {"sku": "GFL - 5195", "vendor": "PR Faux Leather", "title": "Gator Faux - Faux Alligator - Chianti", "status": "ACTIVE", "handle": "gator-faux-faux-alligator-chianti-gfl-5195", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/7fb3823d4f99628587c01d88e17d2ca1.png?v=1572308965", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Espresso", "hue": 20, "neutral": false}, {"sku": "GFL - 5197", "vendor": "PR Faux Leather", "title": "Gator Faux - Faux Alligator - Caramel", "status": "ACTIVE", "handle": "gator-faux-faux-alligator-caramel-gfl-5197", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/f3aeae5aca9acbc014809c9c9e1ddbef.png?v=1572308965", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Chestnut", "hue": 20, "neutral": false}, {"sku": "NTT - 5269", "vendor": "PR Faux Leather", "title": "Urthfriendly TwoTone - Non-Pvc - Claret", "status": "ACTIVE", "handle": "urthfriendly-twotone-non-pvc-claret-ntt-5269", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/d50a51612777b7f1de85a060ae6c40ee.png?v=1572308965", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Espresso", "hue": 20, "neutral": false}, {"sku": "NTT - 5277", "vendor": "PR Faux Leather", "title": "Urthfriendly TwoTone - Non-Pvc - Expresso", "status": "ACTIVE", "handle": "urthfriendly-twotone-non-pvc-expresso-ntt-5277", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/c28599d41b1375db608de4be34e502ae.png?v=1572308965", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Espresso", "hue": 20, "neutral": false}, {"sku": "NTT - 5278", "vendor": "PR Faux Leather", "title": "Urthfriendly TwoTone - Non-Pvc - Espresso", "status": "ACTIVE", "handle": "urthfriendly-twotone-non-pvc-espresso-ntt-5278", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/723400308e69728be3554e8f93159d0c.png?v=1572308965", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Espresso", "hue": 20, "neutral": false}, {"sku": "SFL - 5308", "vendor": "PR Faux Leather", "title": "Cobra - Faux Snake Leather - Teakwood", "status": "ACTIVE", "handle": "cobra-faux-snake-leather-teakwood-sfl-5308", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/8921fac87556841cc9f9697197881f60.png?v=1572308966", "price": "", "material": "Faux Leather / Hide", "style": "Animal / Skin", "color": "Espresso", "hue": 20, "neutral": false}, {"sku": "GLA - 5335", "vendor": "PR Faux Leather", "title": "Glaze - Faux Vintage Leather - Walnut", "status": "ACTIVE", "handle": "glaze-faux-vintage-leather-walnut-gla-5335", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/2e78b626023ec8c68de64d5dc52f1fed.png?v=1572308967", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Espresso", "hue": 20, "neutral": false}, {"sku": "PEV - 5101", "vendor": "PR Faux Leather", "title": "Prive - Paisley Faux Leather - Acorn", "status": "ACTIVE", "handle": "prive-paisley-faux-leather-acorn-pev-5101", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/files/ScreenShot2023-11-01at8.14.54AM.png?v=1698851702", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Copper", "hue": 22, "neutral": false}, {"sku": "CFL - 5074", "vendor": "PR Faux Leather", "title": "Milano Classic Faux Leather - Pumpkin", "status": "ACTIVE", "handle": "milano-classic-faux-leather-pumpkin-cfl-5074", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/0699b41e9407eb99979537738385e380.png?v=1572308961", "price": "", "material": "Faux Leather / Hide", "style": "Traditional", "color": "Tobacco", "hue": 24, "neutral": false}, {"sku": "GFL - 5198", "vendor": "PR Faux Leather", "title": "Gator Faux - Faux Alligator - Brick", "status": "ACTIVE", "handle": "gator-faux-faux-alligator-brick-gfl-5198", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/884ce1a345b3a66dd27a4f3a5325aedc.png?v=1572308965", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Oxblood", "hue": 12, "neutral": false}, {"sku": "Dig-2011", "vendor": "DW Bespoke Studio", "title": "Anaconda Snake DigiWalls On Demand Printc - Pattern Design Lab", "status": "ACTIVE", "handle": "anaconda-snake-digiwalls-on-demand-printc-pattern-design-lab-dig-2011", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/540704fc07253ad651583498f7ab1b90.jpg?v=1572308930", "price": "", "material": "Faux Leather / Hide", "style": "Animal / Skin", "color": "Chocolate", "hue": 25, "neutral": false}, {"sku": "Faux Leather - Brown", "vendor": "PR Faux Leather", "title": "Classic Faux Leather - Brown", "status": "ACTIVE", "handle": "classic-faux-leather-brown-faux-leather-brown", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/24682f38058b3ddf20ff34f0112bb768.png?v=1572308938", "price": "", "material": "Faux Leather / Hide", "style": "Traditional", "color": "Jet", "hue": 25, "neutral": false}, {"sku": "Crocodile - Auburn", "vendor": "PR Faux Leather", "title": "Crocodile Faux Leather - Auburn", "status": "ACTIVE", "handle": "crocodile-faux-leather-auburn-crocodile-auburn", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/7ac23015915db7f675ff629871a5a497.png?v=1572308939", "price": "", "material": "Faux Leather / Hide", "style": "Animal / Skin", "color": "Brown", "hue": 25, "neutral": false}, {"sku": "WOV - 5044", "vendor": "PR Faux Leather", "title": "Roma-Basketweave Faux Leather - Orange", "status": "ACTIVE", "handle": "roma-basketweave-faux-leather-orange-wov-5044", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/3d292ba8c9dd855be260e5fb89729a13.png?v=1572308960", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Rust", "hue": 25, "neutral": false}, {"sku": "CFL - 5078", "vendor": "PR Faux Leather", "title": "Milano Classic Faux Leather - Metallic Gold", "status": "ACTIVE", "handle": "milano-classic-faux-leather-metallic-gold-cfl-5078", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/ae1842d5a7eaadc6cf02313ef7671a63.png?v=1572308961", "price": "", "material": "Faux Leather / Hide", "style": "Traditional", "color": "Chocolate", "hue": 25, "neutral": false}, {"sku": "GFL - 5194", "vendor": "PR Faux Leather", "title": "Gator Faux - Faux Alligator - Curry", "status": "ACTIVE", "handle": "gator-faux-faux-alligator-curry-gfl-5194", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/02532d246f8509ea0d2b9d0ad675e887.png?v=1572308964", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Chocolate", "hue": 25, "neutral": false}, {"sku": "NTT - 5282", "vendor": "PR Faux Leather", "title": "Urthfriendly TwoTone - Non-Pvc - Orange", "status": "ACTIVE", "handle": "urthfriendly-twotone-non-pvc-orange-ntt-5282", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/bac0947ff4812d10804b4324f167e139.png?v=1572308966", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Amber", "hue": 25, "neutral": false}, {"sku": "NTT - 5280", "vendor": "PR Faux Leather", "title": "Urthfriendly TwoTone - Non-Pvc - Rust", "status": "ACTIVE", "handle": "urthfriendly-twotone-non-pvc-rust-ntt-5280", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/e3c2a15da6482f707f28c350e59cffa3.png?v=1572308966", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Chocolate", "hue": 25, "neutral": false}, {"sku": "CFL - 5321", "vendor": "PR Faux Leather", "title": "Crochet Faux Leather - Walnut", "status": "DRAFT", "handle": "crochet-faux-leather-walnut-cfl-5321", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/f6bd8f89b3471e65e7b1f8f282926cfb.png?v=1572308967", "price": "", "material": "Faux Leather / Hide", "style": "Animal / Skin", "color": "Walnut", "hue": 28, "neutral": false}, {"sku": "Crocodile - Coffee Cream", "vendor": "PR Faux Leather", "title": "Crocodile Faux Leather - Coffee Cream", "status": "ACTIVE", "handle": "crocodile-faux-leather-coffee-cream-crocodile-coffee-cream", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/9c865bd04d2d58cedeff6ebcedda0f64.png?v=1572308939", "price": "", "material": "Faux Leather / Hide", "style": "Animal / Skin", "color": "Buff", "hue": 28, "neutral": false}, {"sku": "Faux Leather - Tan", "vendor": "PR Faux Leather", "title": "Classic Faux Leather - Tan", "status": "ACTIVE", "handle": "classic-faux-leather-tan-faux-leather-tan", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/5f992853a148fc4141dd6de78eae4046.png?v=1572308939", "price": "", "material": "Faux Leather / Hide", "style": "Traditional", "color": "Coffee", "hue": 28, "neutral": false}, {"sku": "WOV - 5048", "vendor": "PR Faux Leather", "title": "Roma-Basketweave Faux Leather - Khaki", "status": "ACTIVE", "handle": "roma-basketweave-faux-leather-khaki-wov-5048", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/f633bf87820e114347c5de181fb2e09e.png?v=1572308960", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Coffee", "hue": 28, "neutral": false}, {"sku": "WOV - 5052", "vendor": "PR Faux Leather", "title": "Roma-Basketweave Faux Leather - Canyon", "status": "ACTIVE", "handle": "roma-basketweave-faux-leather-canyon-wov-5052", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/2c180a1e08fb7cfeb368b862dab2c922.png?v=1572308960", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Walnut", "hue": 28, "neutral": false}, {"sku": "CFL - 5077", "vendor": "PR Faux Leather", "title": "Milano Classic Faux Leather - Nutmeg", "status": "ACTIVE", "handle": "milano-classic-faux-leather-nutmeg-cfl-5077", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/706b9e15eedc4b304ca0062646d6b1a0.png?v=1572308961", "price": "", "material": "Faux Leather / Hide", "style": "Traditional", "color": "Mocha", "hue": 28, "neutral": false}, {"sku": "CFL - 5086", "vendor": "PR Faux Leather", "title": "Milano Classic Faux Leather - Brandy", "status": "ACTIVE", "handle": "milano-classic-faux-leather-brandy-cfl-5086", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/9941f8661a6407391268547a4c13e5df.png?v=1572308961", "price": "", "material": "Faux Leather / Hide", "style": "Traditional", "color": "Walnut", "hue": 28, "neutral": false}, {"sku": "AFL - 5116", "vendor": "PR Faux Leather", "title": "Ropari Antique Faux Leather - Rust", "status": "ACTIVE", "handle": "ropari-antique-faux-leather-rust-afl-5116", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/e2c42eae915ae53bb4f92a1a6161865e.png?v=1572308962", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Mocha", "hue": 28, "neutral": false}, {"sku": "AFL - 5120", "vendor": "PR Faux Leather", "title": "Ropari Antique Faux Leather - Sepia", "status": "ACTIVE", "handle": "ropari-antique-faux-leather-sepia-afl-5120", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/d7276e4b90ca1de0409e38b2610a8ce1.png?v=1572308962", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Walnut", "hue": 28, "neutral": false}, {"sku": "GFL - 5193", "vendor": "PR Faux Leather", "title": "Gator Faux - Faux Alligator - Fern", "status": "ACTIVE", "handle": "gator-faux-faux-alligator-fern-gfl-5193", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/0e0f4e6fc15a106b921ccbd758c4b0af.png?v=1572308964", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Walnut", "hue": 28, "neutral": false}, {"sku": "SFL - 5307", "vendor": "PR Faux Leather", "title": "Cobra - Faux Snake Leather - Rust", "status": "ACTIVE", "handle": "cobra-faux-snake-leather-rust-sfl-5307", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/f0c6ee2e6fe32645e7e98f5de3b36d46.png?v=1572308966", "price": "", "material": "Faux Leather / Hide", "style": "Animal / Skin", "color": "Walnut", "hue": 28, "neutral": false}, {"sku": "NTT - 5279", "vendor": "PR Faux Leather", "title": "Urthfriendly TwoTone - Non-Pvc - Mocha", "status": "ACTIVE", "handle": "urthfriendly-twotone-non-pvc-mocha-ntt-5279", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/d7472bae1d6bfd5ff6000524a45faa33.png?v=1572308966", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Mocha", "hue": 28, "neutral": false}, {"sku": "NTT - 5281", "vendor": "PR Faux Leather", "title": "Urthfriendly TwoTone - Non-Pvc - Acorn", "status": "ACTIVE", "handle": "urthfriendly-twotone-non-pvc-acorn-ntt-5281", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/dc153dd7bef87a35e7bd6ee903f1a2fa.png?v=1572308966", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Walnut", "hue": 28, "neutral": false}, {"sku": "GLA - 5336", "vendor": "PR Faux Leather", "title": "Glaze - Faux Vintage Leather - Walnut", "status": "ACTIVE", "handle": "glaze-faux-vintage-leather-walnut-gla-5336", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/3953d719bb51792fda1ddd6b0f90e2a6.png?v=1572308967", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Ebony", "hue": 28, "neutral": false}, {"sku": "Faux Leather - Hunter", "vendor": "PR Faux Leather", "title": "Classic Faux Leather - Hunter", "status": "ACTIVE", "handle": "classic-faux-leather-hunter-faux-leather-hunter", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/63a45e2aea5c478cb41de70171316504.png?v=1572308939", "price": "", "material": "Faux Leather / Hide", "style": "Traditional", "color": "Midnight", "hue": 30, "neutral": true}, {"sku": "Faux Leather -Royal", "vendor": "PR Faux Leather", "title": "Classic Faux Leather - Royal", "status": "ACTIVE", "handle": "classic-faux-leather-royal-faux-leather-royal", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/9e963d17724d6b87ff2ada1fb9497133.png?v=1572308939", "price": "", "material": "Faux Leather / Hide", "style": "Traditional", "color": "Midnight", "hue": 30, "neutral": true}, {"sku": "Crocodile - Caramel", "vendor": "PR Faux Leather", "title": "Crocodile Faux Leather - Caramel", "status": "ACTIVE", "handle": "crocodile-faux-leather-caramel-crocodile-caramel", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/4ed459ca842ad94f51b80ebaa49bf9cc.png?v=1572308939", "price": "", "material": "Faux Leather / Hide", "style": "Animal / Skin", "color": "Cognac", "hue": 30, "neutral": false}, {"sku": "UAC-4010", "vendor": "PR Faux Leather", "title": "Anaconda Snake Patent Upholstery Vinyl - Grape", "status": "ACTIVE", "handle": "anaconda-snake-patent-upholstery-vinyl-grape-uac-4010", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/3525833feadb2a207891599608c92cf8.jpg?v=1572308940", "price": "", "material": "Faux Leather / Hide", "style": "Animal / Skin", "color": "Eggplant", "hue": 30, "neutral": true}, {"sku": "UAC-4020", "vendor": "PR Faux Leather", "title": "Anaconda Snake Patent Upholstery Vinyl - Ash", "status": "ACTIVE", "handle": "anaconda-snake-patent-upholstery-vinyl-ash-uac-4020", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/1dc6429f89277e38aebadddfbf7ae010.jpg?v=1572308940", "price": "", "material": "Faux Leather / Hide", "style": "Animal / Skin", "color": "Smoke", "hue": 30, "neutral": true}, {"sku": "WOV - 5049", "vendor": "PR Faux Leather", "title": "Roma-Basketweave Faux Leather - Hunter", "status": "ACTIVE", "handle": "roma-basketweave-faux-leather-hunter-wov-5049", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/005b79b233e0c40c9f6b5df4d69e9027.png?v=1572308960", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Ink", "hue": 30, "neutral": true}, {"sku": "WOV - 5057", "vendor": "PR Faux Leather", "title": "Roma Basketweave Faux Leather - Almond", "status": "ACTIVE", "handle": "roma-basketweave-faux-leather-almond-wov-5057", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/81d03896a99f0fa2f526ab3c3c394ab0.png?v=1572308960", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Brass", "hue": 30, "neutral": true}, {"sku": "WOV - 5055", "vendor": "PR Faux Leather", "title": "Roma-Basketweave Faux Leather - Birch", "status": "ACTIVE", "handle": "roma-basketweave-faux-leather-birch-wov-5055", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/fd62649d0170269cd50ba077f2f1a23b.png?v=1572308960", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Caramel", "hue": 30, "neutral": false}, {"sku": "CFL - 5071", "vendor": "PR Faux Leather", "title": "Milano Classic Faux Leather - Toffee", "status": "ACTIVE", "handle": "milano-classic-faux-leather-toffee-cfl-5071", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/a0e568738c20dd08273e18c90ba68f00.png?v=1572308961", "price": "", "material": "Faux Leather / Hide", "style": "Traditional", "color": "Jet", "hue": 30, "neutral": true}, {"sku": "CFL - 5081", "vendor": "PR Faux Leather", "title": "Milano Classic Faux Leather - Java", "status": "ACTIVE", "handle": "milano-classic-faux-leather-java-cfl-5081", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/f8e31a493142a78b6ac0f644a1f5d032.png?v=1572308961", "price": "", "material": "Faux Leather / Hide", "style": "Traditional", "color": "Jet", "hue": 30, "neutral": true}, {"sku": "PEV - 5102", "vendor": "PR Faux Leather", "title": "Prive - Paisley Faux Leather - Rouge", "status": "ACTIVE", "handle": "prive-paisley-faux-leather-rouge-pev-5102", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/files/ScreenShot2023-11-01at8.19.29AM.png?v=1698851979", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Oxblood", "hue": 30, "neutral": true}, {"sku": "PEV - 5106", "vendor": "PR Faux Leather", "title": "Prive - Paisley Faux Leather - Caramel", "status": "ACTIVE", "handle": "prive-paisley-faux-leather-caramel-pev-5106", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/25cbd9a306029f77407378dae1e6f2c9.png?v=1572308961", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Caramel", "hue": 30, "neutral": false}, {"sku": "AFL - 5125", "vendor": "PR Faux Leather", "title": "Ropari Antique Faux Leather - Flint", "status": "ACTIVE", "handle": "ropari-antique-faux-leather-flint-afl-5125", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/af13c4ef63ef22c3aaed82ff8fa7b1a6.png?v=1572308962", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Mushroom", "hue": 30, "neutral": true}, {"sku": "NTT - 5261", "vendor": "PR Faux Leather", "title": "Urthfriendly TwoTone - Non-Pvc - Newport", "status": "ACTIVE", "handle": "urthfriendly-twotone-non-pvc-newport-ntt-5261", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/e143e474382135f59b43011eae14e339.png?v=1572308965", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Jet", "hue": 30, "neutral": true}, {"sku": "GFL - 5200", "vendor": "PR Faux Leather", "title": "Gator Faux - Faux Alligator - Birch", "status": "ACTIVE", "handle": "gator-faux-faux-alligator-birch-gfl-5200", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/8c267dd36699a7f3c791bbb6ae383373.png?v=1572308965", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Caramel", "hue": 30, "neutral": false}, {"sku": "NTT - 5260", "vendor": "PR Faux Leather", "title": "Urthfriendly TwoTone - Non-Pvc - Ebony", "status": "ACTIVE", "handle": "urthfriendly-twotone-non-pvc-ebony-ntt-5260", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/a673260cec3740c916af71e2e8c94b7a.png?v=1572308965", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Jet", "hue": 30, "neutral": true}, {"sku": "NTT - 5270", "vendor": "PR Faux Leather", "title": "Urthfriendly TwoTone - Non-Pvc - Spring", "status": "ACTIVE", "handle": "urthfriendly-twotone-non-pvc-spring-ntt-5270", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/dd165fffdd8b364ee71c1eaa1100125c.png?v=1572308965", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Smoke", "hue": 30, "neutral": true}, {"sku": "NTT - 5274", "vendor": "PR Faux Leather", "title": "Urthfriendly TwoTone - Non-Pvc - Champagne", "status": "ACTIVE", "handle": "urthfriendly-twotone-non-pvc-champagne-ntt-5274", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/d1bacfb1ac4b0b9d2e27c0878d80d9fa.png?v=1572308965", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Mushroom", "hue": 30, "neutral": true}, {"sku": "NTT - 5276", "vendor": "PR Faux Leather", "title": "Urthfriendly TwoTone - Non-Pvc - Canyon", "status": "ACTIVE", "handle": "urthfriendly-twotone-non-pvc-canyon-ntt-5276", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/77fa56d4f54a7c84507ba5647f52fbe8.png?v=1572308965", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Oxblood", "hue": 30, "neutral": true}, {"sku": "NTT - 5283", "vendor": "PR Faux Leather", "title": "Urthfriendly TwoTone - Non-Pvc - Dessert", "status": "ACTIVE", "handle": "urthfriendly-twotone-non-pvc-dessert-ntt-5283", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/fa89c9cb454986eb031506a0a8047338.png?v=1572308966", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Vanilla", "hue": 30, "neutral": true}, {"sku": "SFL - 5309", "vendor": "PR Faux Leather", "title": "Cobra - Faux Snake Leather - Bordeaux", "status": "ACTIVE", "handle": "cobra-faux-snake-leather-bordeaux-sfl-5309", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/03aa593099a2d1a1b68b39ddd0f61784.png?v=1572308966", "price": "", "material": "Faux Leather / Hide", "style": "Animal / Skin", "color": "Jet", "hue": 30, "neutral": true}, {"sku": "SFL - 5310", "vendor": "PR Faux Leather", "title": "Cobra - Faux Snake Leather - Porcelain", "status": "ACTIVE", "handle": "cobra-faux-snake-leather-porcelain-sfl-5310", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/7fde3477a076aca79e88cca8be7d1b5c.png?v=1572308966", "price": "", "material": "Faux Leather / Hide", "style": "Animal / Skin", "color": "Smoke", "hue": 30, "neutral": true}, {"sku": "SFL - 5319", "vendor": "PR Faux Leather", "title": "Cobra - Faux Snake Leather - Vanilla", "status": "ACTIVE", "handle": "cobra-faux-snake-leather-vanilla-sfl-5319", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/3f0203fdcf3137d419140bddfd873766.png?v=1572308967", "price": "", "material": "Faux Leather / Hide", "style": "Animal / Skin", "color": "Mushroom", "hue": 30, "neutral": true}, {"sku": "SFL - 5320", "vendor": "PR Faux Leather", "title": "Cobra - Faux Snake Leather - Cloud", "status": "ACTIVE", "handle": "cobra-faux-snake-leather-cloud-sfl-5320", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/20279ced839c5564042725e7d7c841ec.png?v=1572308967", "price": "", "material": "Faux Leather / Hide", "style": "Animal / Skin", "color": "Linen", "hue": 30, "neutral": true}, {"sku": "GLA - 5331", "vendor": "PR Faux Leather", "title": "Glaze - Faux Vintage Leather - Merlot", "status": "ACTIVE", "handle": "glaze-faux-vintage-leather-merlot-gla-5331", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/0040d9d82ac4e79b7b91dd1d04991f2a.png?v=1572308967", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Oxblood", "hue": 30, "neutral": true}, {"sku": "GLA - 5332", "vendor": "PR Faux Leather", "title": "Glaze - Faux Vintage Leather - FireRed", "status": "ACTIVE", "handle": "glaze-faux-vintage-leather-firered-gla-5332", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/3b38dbec1b0d007d2359bfa6b7006ac0.png?v=1572308967", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Red", "hue": 30, "neutral": true}, {"sku": "GLA - 5338", "vendor": "PR Faux Leather", "title": "Glaze - Faux Vintage Leather - Canary", "status": "ACTIVE", "handle": "glaze-faux-vintage-leather-canary-gla-5338", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/9eeaa79f725be3ff154c50fc3b75442f.png?v=1572308967", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Caramel", "hue": 30, "neutral": false}], BASE="https://www.designerwallcoverings.com/products/";
 const D={wMat:55,wCol:35,wSty:20,wHue:40,tHue:T.hue,den:5};
 const S=Object.assign({},D, JSON.parse(localStorage.getItem('subfinder')||'{}'));
-document.getElementById('orig').innerHTML=
- `<img src="${T.img}" alt=""><div><span class="tagd">${T.status==='ARCHIVED'?'Discontinued':T.status} · needs substitute</span>
-  <h2>${T.title}</h2><div class="attrs">${T.vendor} · ${T.sku}<br>Material ${T.material} · Style ${T.style} · Color ${T.color} · Hue ${T.hue}&deg;</div></div>`;
+const IMG=JSON.parse(localStorage.getItem('subfinder_img')||'{}');   // sku -> override url
+const picked=new Set();
+const el=id=>document.getElementById(id);
+function imgOf(sku,fallback){return IMG[sku]||fallback||'';}
+function setImg(sku,url){if(url){IMG[sku]=url;}else{delete IMG[sku];}localStorage.setItem('subfinder_img',JSON.stringify(IMG));}
+function prodUrl(c){return BASE+c.handle;}
+
+function drawOrig(){
+ el('orig').innerHTML=
+ `<img id="origImg" src="${imgOf(T.sku,T.img)}" alt="">
+  <div><span class="tagd">${T.status==='ARCHIVED'?'Discontinued':T.status} · needs substitute</span>
+   <h2>${T.title}</h2>
+   <div class="attrs">${T.vendor} · ${T.sku}<br>Material ${T.material} · Style ${T.style} · Color ${T.color} · Hue ${T.hue}&deg;</div>
+   <div class="imgurl"><span>Image URL</span><input id="origUrl" placeholder="paste an image URL…" value="${imgOf(T.sku,'')}"></div>
+  </div>`;
+ el('origUrl').addEventListener('input',e=>{setImg(T.sku,e.target.value.trim());el('origImg').src=imgOf(T.sku,T.img);});
+}
 function hdist(a,b){let d=Math.abs(a-b)%360;return Math.min(d,360-d);}
+function shareWord(a,b){const A=a.toLowerCase().split(/\s+/),B=b.toLowerCase().split(/\s+/);return A.some(x=>x.length>2&&B.includes(x));}
 function score(c){
  const wm=S.wMat/100,wc=S.wCol/100,ws=S.wSty/100,wh=S.wHue/100;
  const mat=c.material===T.material?1:0;
@@ -62,23 +127,71 @@ function score(c){
  const denom=(wm+wc+ws+wh)||1;
  return (wm*mat+wc*col+ws*sty+wh*hue)/denom;
 }
-function shareWord(a,b){const A=a.toLowerCase().split(/\s+/),B=b.toLowerCase().split(/\s+/);return A.some(x=>x.length>2&&B.includes(x));}
+let RANKED=[];
 function draw(){
  document.documentElement.style.setProperty('--cols',S.den);
- for(const[k,v]of Object.entries({vMat:'wMat',vCol:'wCol',vSty:'wSty',vHue:'wHue'}))document.getElementById(k).textContent=S[v];
- document.getElementById('vTgt').textContent=S.tHue+'°';document.getElementById('vDen').textContent=S.den;
- const rows=SUBS.map(c=>({c,s:score(c)})).sort((a,b)=>b.s-a.s);
- document.getElementById('count').textContent=rows.length+' active/draft candidates — showing top 10 for the current weighting';
- document.getElementById('grid').innerHTML=rows.slice(0,10).map((r,i)=>{const c=r.c;return`
-  <a class="card" href="${BASE}${c.handle}" target="_blank" rel="noopener">
-   <div class="ph"><span class="rank">${i+1}</span><span class="sw">${c.color}</span><span class="st ${c.status}">${c.status}</span><img loading="lazy" src="${c.img}" alt=""></div>
+ for(const k of ['wMat','wCol','wSty','wHue'])el('v'+k.slice(1)).textContent=S[k];
+ el('vTgt').textContent=S.tHue+'°';el('vDen').textContent=S.den;
+ RANKED=SUBS.map(c=>({c,s:score(c)})).sort((a,b)=>b.s-a.s).slice(0,12);
+ el('count').textContent=SUBS.length+' active/draft candidates — showing top '+RANKED.length+' for the current weighting';
+ el('grid').innerHTML=RANKED.map((r,i)=>{const c=r.c;const on=picked.has(c.sku);return`
+  <div class="card ${on?'sel':''}" data-sku="${c.sku}">
+   <div class="ph">
+     <input type="checkbox" class="pick" ${on?'checked':''} title="Select for letter">
+     <span class="rank">${i+1}</span><span class="sw">${c.color}</span><span class="st ${c.status}">${c.status}</span>
+     <img loading="lazy" src="${imgOf(c.sku,c.img)}" alt="">
+     <button class="editimg" title="Override image URL">🖼 URL</button>
+   </div>
    <div class="body"><div class="vend">${c.vendor}</div><div class="title">${c.title}</div>
     <div class="meta">${c.material} · ${c.style} · Hue ${c.hue}&deg;${c.price?' · $'+c.price:''} · ${c.sku}</div>
-    <div class="scorebar"><i style="width:${Math.round(r.s*100)}%"></i></div></div></a>`;}).join('');
+    <div class="scorebar"><i style="width:${Math.round(r.s*100)}%"></i></div>
+    <a class="rowlink" href="${prodUrl(c)}" target="_blank" rel="noopener">View product ↗</a>
+    <div class="imgedit"><input placeholder="paste image URL for ${c.sku}…" value="${imgOf(c.sku,'')}"></div>
+   </div></div>`;}).join('');
+ el('grid').querySelectorAll('.card').forEach(card=>{
+   const sku=card.dataset.sku;
+   card.querySelector('.pick').addEventListener('change',e=>{e.target.checked?picked.add(sku):picked.delete(sku);card.classList.toggle('sel',e.target.checked);syncBar();});
+   card.querySelector('.editimg').addEventListener('click',()=>card.querySelector('.imgedit').classList.toggle('show'));
+   card.querySelector('.imgedit input').addEventListener('input',e=>{setImg(sku,e.target.value.trim());card.querySelector('.ph img').src=imgOf(sku,RANKED.find(r=>r.c.sku===sku).c.img);});
+ });
+}
+function syncBar(){const n=picked.size;el('barN').textContent=n+' selected';el('bar').classList.toggle('show',n>0);}
+function bind(id,key){const e=el(id);e.value=S[key];e.addEventListener('input',()=>{S[key]=+e.value;localStorage.setItem('subfinder',JSON.stringify(S));draw();});}
+
+// ---- letter ----
+function letterText(){
+ const client=el('fClient').value.trim()||'[Client name]';
+ const sender=el('fSender').value.trim()||'Designer Wallcoverings';
+ const chosen=RANKED.map(r=>r.c).filter(c=>picked.has(c.sku));
+ const lines=chosen.map((c,i)=>` ${i+1}. ${c.title} — ${c.vendor}\n    Color: ${c.color}  ·  ${c.material}\n    ${prodUrl(c)}`).join('\n\n');
+ const plural=chosen.length===1?'a comparable alternative':'the following comparable alternatives';
+ return `Dear ${client},
+
+Thank you for your interest in ${T.title} (${T.sku}). Unfortunately, this item has been discontinued and is no longer available.
+
+We'd be glad to recommend ${plural}, chosen to closely match the original in material, color, and style:
+
+${lines}
+
+Each of these is currently available, and we'd be happy to send samples or answer any questions to help you decide.
+
+Warm regards,
+${sender}
+Designer Wallcoverings`;
 }
-function bind(id,key){const el=document.getElementById(id);el.value=S[key];el.addEventListener('input',()=>{S[key]=+el.value;localStorage.setItem('subfinder',JSON.stringify(S));draw();});}
+function openModal(){el('fBody').value=letterText();el('modal').classList.add('show');}
+['fClient','fSender'].forEach(id=>el(id).addEventListener('input',()=>el('fBody').value=letterText()));
+el('barGo').addEventListener('click',openModal);
+el('barClr').addEventListener('click',()=>{picked.clear();syncBar();draw();});
+el('mClose').addEventListener('click',()=>el('modal').classList.remove('show'));
+el('modal').addEventListener('click',e=>{if(e.target===el('modal'))el('modal').classList.remove('show');});
+el('mCopy').addEventListener('click',()=>{navigator.clipboard.writeText(el('fBody').value);el('mCopy').textContent='Copied ✓';setTimeout(()=>el('mCopy').textContent='Copy',1200);});
+el('mDl').addEventListener('click',()=>{const b=new Blob([el('fBody').value],{type:'text/plain'});const a=document.createElement('a');a.href=URL.createObjectURL(b);a.download=`substitute-letter-${T.sku}.txt`;a.click();});
+el('mMail').addEventListener('click',()=>{const sub=`Substitute recommendations for ${T.sku}`;location.href=`mailto:?subject=${encodeURIComponent(sub)}&body=${encodeURIComponent(el('fBody').value)}`;});
+
+drawOrig();
 bind('wMat','wMat');bind('wCol','wCol');bind('wSty','wSty');bind('wHue','wHue');bind('tHue','tHue');bind('den','den');
-document.getElementById('reset').addEventListener('click',()=>{Object.assign(S,D,{tHue:T.hue});localStorage.setItem('subfinder',JSON.stringify(S));
- for(const[i,k]of Object.entries({wMat:'wMat',wCol:'wCol',wSty:'wSty',wHue:'wHue',tHue:'tHue',den:'den'}))document.getElementById(i).value=S[k];draw();});
-draw();
+el('reset').addEventListener('click',()=>{Object.assign(S,D,{tHue:T.hue});localStorage.setItem('subfinder',JSON.stringify(S));
+ for(const k of ['wMat','wCol','wSty','wHue','tHue','den'])el(k).value=S[k];draw();});
+draw();syncBar();
 </script></body></html>
\ No newline at end of file

← 883e04f generated by /substitutefinder: slider-tweakable viewer (mat  ·  back to Dw Substitute Viewer  ·  viewer: paste product-page URL override (orig + per-card) + cbe4b17 →