[object Object]

← back to Dw Substitute Viewer

generated by /substitutefinder: slider-tweakable viewer (material/color/style/hue), active+draft only

883e04fa173774cf2bcc2d6819285063cffd0d75 · 2026-07-07 13:50:19 -0700 · Steve

Files touched

Diff

commit 883e04fa173774cf2bcc2d6819285063cffd0d75
Author: Steve <steve@designerwallcoverings.com>
Date:   Tue Jul 7 13:50:19 2026 -0700

    generated by /substitutefinder: slider-tweakable viewer (material/color/style/hue), active+draft only
---
 index.html | 220 ++++++++++++++++++++++---------------------------------------
 1 file changed, 79 insertions(+), 141 deletions(-)

diff --git a/index.html b/index.html
index ef218ae..af5030b 100644
--- a/index.html
+++ b/index.html
@@ -1,146 +1,84 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
-<meta charset="utf-8">
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8">
 <meta name="viewport" content="width=device-width, initial-scale=1">
-<title>Substitute Finder — FVH-40402</title>
-<style>
-  :root{ --cols:5; --ink:#1c1a17; --muted:#8a8178; --line:#e7e1d8; --bg:#faf7f2; --spice:#b4531f; }
-  *{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:28px 32px 18px;border-bottom:1px solid var(--line);background:#fff}
-  h1{margin:0 0 4px;font-size:22px;font-weight:600;letter-spacing:.2px}
-  .sub{color:var(--muted);font-size:13px}
-  .wrap{max-width:1400px;margin:0 auto;padding:24px 32px 60px}
-
-  /* discontinued original banner */
-  .orig{display:flex;gap:20px;align-items:center;background:#fff;border:1px solid var(--line);border-left:4px solid var(--spice);border-radius:12px;padding:16px 18px;margin:22px 0 8px}
-  .orig img{width:120px;height:120px;object-fit:cover;border-radius:8px;background:#eee;flex-shrink:0}
-  .orig .meta{min-width:0}
-  .tag-disco{display:inline-block;background:var(--spice);color:#fff;font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;padding:3px 8px;border-radius:20px;margin-bottom:6px}
-  .orig h2{margin:2px 0 4px;font-size:18px;font-weight:600}
-  .orig .attrs{color:var(--muted);font-size:13px;line-height:1.5}
-
-  .controls{display:flex;gap:22px;align-items:center;flex-wrap:wrap;margin:26px 0 14px}
-  .controls label{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:8px}
-  select,input[type=range]{font:inherit}
-  select{padding:6px 10px;border:1px solid var(--line);border-radius:8px;background:#fff}
-  .count{margin-left:auto;color:var(--muted);font-size:13px}
-
-  .grid{display:grid;grid-template-columns:repeat(var(--cols),1fr);gap:18px}
-  .card{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .15s,transform .15s;text-decoration:none;color:inherit}
-  .card:hover{box-shadow:0 8px 24px rgba(0,0,0,.08);transform:translateY(-2px)}
-  .card .ph{position:relative;aspect-ratio:1/1;background:#efe9e0}
-  .card .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;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center}
-  .swatch{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}
-  .card .body{padding:11px 12px 13px}
-  .card .vend{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.4px}
-  .card .title{font-size:13.5px;font-weight:600;margin:2px 0 4px;line-height:1.3}
-  .card .sku{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}
-  .card .why{font-size:11.5px;color:#6b6255;margin-top:7px;line-height:1.4}
-  footer{color:var(--muted);font-size:12px;margin-top:30px;text-align:center}
-</style>
-</head>
-<body>
-<header>
-  <h1>Substitute Finder</h1>
-  <div class="sub">Nearest active alternatives for a discontinued item · from the full dw_unified catalog</div>
-</header>
-<div class="wrap">
-
-  <div class="orig" id="orig"></div>
-
-  <div class="controls">
-    <label>Sort
-      <select id="sort">
-        <option value="best">Best match (default)</option>
-        <option value="color">Color closeness</option>
-        <option value="vendor">Vendor A→Z</option>
-        <option value="sku">SKU A→Z</option>
-        <option value="title">Title A→Z</option>
-      </select>
-    </label>
-    <label>Density
-      <input type="range" id="density" min="3" max="7" step="1" value="5">
-    </label>
-    <span class="count" id="count"></span>
-  </div>
-
-  <div class="grid" id="grid"></div>
-
-  <footer>Original spec: Faux-hide vinyl · Burnt Orange (Clay) · Class A Fire Rated · Commercial. Substitutes ranked by texture + color + spec parity.</footer>
+<title>Substitute Finder</title><style>
+:root{--cols:5;--ink:#1c1a17;--muted:#8a8178;--line:#e7e1d8;--bg:#faf7f2;--accent:#b4531f}
+*{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}
+.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}
+.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}
+.ctl b{color:var(--accent);font-variant-numeric:tabular-nums}
+input[type=range]{width:170px;accent-color:var(--accent)}
+select{padding:6px 10px;border:1px solid var(--line);border-radius:8px;background:#fff;font:inherit}
+.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:hover{box-shadow:0 8px 22px rgba(0,0,0,.09);transform:translateY(-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}
+.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}
+.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)}
+footer{color:var(--muted);font-size:12px;margin-top:28px;text-align:center}
+</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>
+<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>
+  <div class="ctl"><label>Color name <b id="vCol"></b></label><input type="range" id="wCol" min="0" max="100"></div>
+  <div class="ctl"><label>Style <b id="vSty"></b></label><input type="range" id="wSty" min="0" max="100"></div>
+  <div class="ctl"><label>Hue match <b id="vHue"></b></label><input type="range" id="wHue" min="0" max="100"></div>
+  <div class="ctl"><label>Target hue <b id="vTgt"></b></label><input type="range" id="tHue" min="0" max="359"></div>
+  <div class="ctl"><label>Density <b id="vDen"></b></label><input type="range" id="den" min="3" max="7" step="1"></div>
+  <button class="reset" id="reset">Reset</button>
 </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>
 <script>
-const BASE = "https://www.designerwallcoverings.com/products/";
-const ORIGINAL = {
-  sku:"FVH-40402", title:"Hairly Hide — Faux Vinyl Hide — Burnt Orange Spice",
-  vendor:"Hollywood Wallcoverings", color:"Clay",
-  attrs:"Faux Finish · Vinyl · Textured · Class A Fire Rated · Commercial",
-  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"
-};
-// colorRank: lower = closer to Burnt Orange Spice
-const SUBS = [
-  {rank:1, sku:"PRO-43853", vendor:"Phillipe Romano", title:"Milford Faux Leather Upholstery Vinyl", color:"Burnt Orange", colorRank:1, handle:"milford-faux-leather-upholstery-vinyl-pro-43853", img:"https://cdn.shopify.com/s/files/1/0015/4117/7456/products/8fb169a8d440abc2f2a39ceaf1eb3ae3.jpg?v=1572309343", why:"Faux-leather vinyl in true Burnt Orange — closest texture + color match."},
-  {rank:2, sku:"PRO-43976", vendor:"Phillipe Romano", title:"Groton Aged Faux Leather", color:"Burnt Orange", colorRank:1, handle:"groton-aged-faux-leather-pro-43976", img:"https://cdn.shopify.com/s/files/1/0015/4117/7456/products/f896cdd461006db7aba1b003f1e63698.jpg?v=1572309362", why:"Aged faux-leather, Burnt Orange — warm hide look, spot-on hue."},
-  {rank:3, sku:"SDR-72103", vendor:"Designer Wallcoverings", title:"Raked Faux Suede", color:"Burnt Orange", colorRank:1, handle:"raked-faux-suede-sdr-72103", img:"https://cdn.shopify.com/s/files/1/0015/4117/7456/products/e13b4296022995a82e169e5750131642.jpg?v=1572309154", why:"Textured faux-suede, exact Burnt Orange — softer hand than hide."},
-  {rank:4, sku:"SDR-72102", vendor:"Designer Wallcoverings", title:"Raked Faux Suede", color:"Rust", colorRank:2, handle:"raked-faux-suede-sdr-72102", img:"https://cdn.shopify.com/s/files/1/0015/4117/7456/products/25e65d6769fb99dc519fdf1a83726036.jpg?v=1572309154", why:"Same line in Rust — a half-step deeper than the original."},
-  {rank:5, sku:"PRO-43865", vendor:"Phillipe Romano", title:"New Haven Faux Leather Matte Upholstery Vinyl", color:"Amber", colorRank:2, handle:"new-haven-faux-leather-matte-upholstery-vinyl-pro-43865", img:"https://cdn.shopify.com/s/files/1/0015/4117/7456/products/2f79ab4641900b8a81ee60b084bc3ec6.jpg?v=1572309344", why:"Matte faux-leather vinyl, Amber — warm orange, commercial-friendly."},
-  {rank:6, sku:"SDSS-72204", vendor:"Designer Wallcoverings", title:"Soft Faux Suede", color:"Bronze", colorRank:3, handle:"soft-faux-suede-sdss-72204", img:"https://cdn.shopify.com/s/files/1/0015/4117/7456/products/aae7373575172d347db4709226dc10e3.jpg?v=1572309156", why:"Bronze faux-suede — earthy orange-brown neighbor."},
-  {rank:7, sku:"SDSS-72211", vendor:"Designer Wallcoverings", title:"Soft Faux Suede", color:"Bronze", colorRank:3, handle:"soft-faux-suede-sdss-72211", img:"https://cdn.shopify.com/s/files/1/0015/4117/7456/files/SDSS-72211-sample-cropped.jpg?v=1774469477", why:"Alternate Bronze colorway of the Soft Faux Suede line."},
-  {rank:8, sku:"PRO-43210", vendor:"Phillipe Romano", title:"Newcastle Faux Leather Upholstery Vinyl", color:"Bronze", colorRank:3, handle:"newcastle-faux-leather-upholstery-vinyl-pro-43210", img:"https://cdn.shopify.com/s/files/1/0015/4117/7456/products/bd3571f7992aa8bf5b092863948ed83e.jpg?v=1572309308", why:"Faux-leather vinyl in Bronze — hide texture, warm metallic-brown."},
-  {rank:9, sku:"SDR-72137", vendor:"Designer Wallcoverings", title:"Raked Faux Suede", color:"Garnet", colorRank:4, handle:"raked-faux-suede-sdr-72137", img:"https://cdn.shopify.com/s/files/1/0015/4117/7456/products/9640bd3353446c0692201068fc9b4327.jpg?v=1572309156", why:"Garnet faux-suede — for a redder, deeper reading of the color."},
-  {rank:10, sku:"SDR-72132", vendor:"Designer Wallcoverings", title:"Raked Faux Suede", color:"Garnet", colorRank:4, handle:"raked-faux-suede-sdr-72132", img:"https://cdn.shopify.com/s/files/1/0015/4117/7456/products/22bfb18871c1ac331df5bf1b7d5c1492.jpg?v=1572309156", why:"Alternate Garnet colorway of the Raked Faux Suede line."}
-];
-
-// ---- original banner ----
-document.getElementById('orig').innerHTML =
-  `<img src="${ORIGINAL.img}" alt="">
-   <div class="meta">
-     <span class="tag-disco">Discontinued · needs substitute</span>
-     <h2>${ORIGINAL.title}</h2>
-     <div class="attrs">${ORIGINAL.vendor} · ${ORIGINAL.sku} · Color ${ORIGINAL.color}<br>${ORIGINAL.attrs}</div>
-   </div>`;
-
-// ---- persisted controls ----
-const grid = document.getElementById('grid'), sortEl = document.getElementById('sort'),
-      densEl = document.getElementById('density'), countEl = document.getElementById('count');
-sortEl.value = localStorage.getItem('sub-sort') || 'best';
-densEl.value = localStorage.getItem('sub-cols') || '5';
-
-function applyDensity(){ document.documentElement.style.setProperty('--cols', densEl.value); localStorage.setItem('sub-cols', densEl.value); }
-function sorted(){
-  const a = SUBS.slice(), s = sortEl.value;
-  if(s==='best')   a.sort((x,y)=>x.rank-y.rank);
-  if(s==='color')  a.sort((x,y)=>x.colorRank-y.colorRank || x.rank-y.rank);
-  if(s==='vendor') a.sort((x,y)=>x.vendor.localeCompare(y.vendor) || x.rank-y.rank);
-  if(s==='sku')    a.sort((x,y)=>x.sku.localeCompare(y.sku));
-  if(s==='title')  a.sort((x,y)=>x.title.localeCompare(y.title));
-  return a;
+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 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>`;
+function hdist(a,b){let d=Math.abs(a-b)%360;return Math.min(d,360-d);}
+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;
+ const col=c.color.toLowerCase()===T.color.toLowerCase()?1:(shareWord(c.color,T.color)?0.5:0);
+ const sty=c.style===T.style?1:0;
+ const hue=1-hdist(c.hue,S.tHue)/180;
+ const denom=(wm+wc+ws+wh)||1;
+ return (wm*mat+wc*col+ws*sty+wh*hue)/denom;
 }
-function render(){
-  const rows = sorted();
-  grid.innerHTML = rows.map(p=>`
-    <a class="card" href="${BASE}${p.handle}" target="_blank" rel="noopener">
-      <div class="ph">
-        <span class="rank">${p.rank}</span>
-        <span class="swatch">${p.color}</span>
-        <img src="${p.img}" loading="lazy" alt="">
-      </div>
-      <div class="body">
-        <div class="vend">${p.vendor}</div>
-        <div class="title">${p.title}</div>
-        <div class="sku">${p.sku}</div>
-        <div class="why">${p.why}</div>
-      </div>
-    </a>`).join('');
-  countEl.textContent = rows.length + ' substitutes';
+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 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>
+   <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('');
 }
-sortEl.addEventListener('change', ()=>{ localStorage.setItem('sub-sort', sortEl.value); render(); });
-densEl.addEventListener('input', applyDensity);
-applyDensity(); render();
-</script>
-</body>
-</html>
+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();});}
+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();
+</script></body></html>
\ No newline at end of file

← e3dd63e substitute viewer: top-10 alternatives for discontinued FVH-  ·  back to Dw Substitute Viewer  ·  viewer: multi-select subs → draft client letter (copy/downlo 4deee03 →