[object Object]

← back to Designer Wallcoverings

free-samples phase 2: verified live-main theme role, staged port patch, corrected discount mechanism (Option B, no money objects on prod)

d477dbc9196be6041a513d7212b5e309ab1b0941 · 2026-06-30 04:38:55 -0700 · Steve

Files touched

Diff

commit d477dbc9196be6041a513d7212b5e309ab1b0941
Author: Steve <steve@designerwallcoverings.com>
Date:   Tue Jun 30 04:38:55 2026 -0700

    free-samples phase 2: verified live-main theme role, staged port patch, corrected discount mechanism (Option B, no money objects on prod)
---
 shopify/staged/free-samples-banner/README.md       | 18 ++++++--
 .../free-samples-banner/banner-port-to-main.patch  | 48 ++++++++++++++++++++++
 2 files changed, 62 insertions(+), 4 deletions(-)

diff --git a/shopify/staged/free-samples-banner/README.md b/shopify/staged/free-samples-banner/README.md
index 4344e4b7..a49fabbe 100644
--- a/shopify/staged/free-samples-banner/README.md
+++ b/shopify/staged/free-samples-banner/README.md
@@ -1,11 +1,21 @@
 # Free-Samples Banner + Offer — STAGED (not live)
 
-Staged 2026-06-30 (vp-dw-commerce). DTD verdict 1C/2A (unanimous).
+Staged 2026-06-30 (vp-dw-commerce). Phase-1 DTD 1C. Phase-2 DTD: discount staging = Option B (no money objects on the live store now).
+
+## CRITICAL: theme `144070803507` is the LIVE published theme (role=main)
+Despite its "[Dev]" name it is `role: main` — the live storefront. It was NOT edited live.
+The banner stays on the dedicated UNPUBLISHED clone `144088858675`; a verified patch
+(`banner-port-to-main.patch`) is ready to apply it to main at go-live (Steve's call).
 
 ## Status
-- **Banner:** injected into UNPUBLISHED clone theme `144088858675 "[Dev] free-samples-banner"`
-  (cloned from live main `144070803507`). Main untouched, nothing published.
-- **Discounts:** NOT created. Drafted go-live steps in
+- **Banner:** injected into UNPUBLISHED clone theme `144088858675 "[Dev] free-samples-banner"`.
+  Live main `144070803507` is UNTOUCHED and byte-identical to `theme.liquid.144070803507.original`
+  (no drift — re-verified 2026-06-30). Preview render confirmed (marker + anon lead text in served HTML).
+- **Port patch:** `banner-port-to-main.patch` — dry-run-verified to apply cleanly to the pristine main.
+- **Discounts:** NOT created (Option B). Trade segment already exists
+  (`gid://shopify/Segment/345129975859`, 15,897 members). Sample variants = $4.25, identified by
+  variant title "Sample" (SKU suffix casing is inconsistent — do not match on SKU suffix).
+  Verified go-live create-commands + click-path live in
   `~/.claude/yolo-queue/pending-approval/2026-06-30-dw-free-samples-banner-and-offer.md`.
 
 ## Preview (carry the preview cookie — a browser sets it automatically)
diff --git a/shopify/staged/free-samples-banner/banner-port-to-main.patch b/shopify/staged/free-samples-banner/banner-port-to-main.patch
new file mode 100644
index 00000000..42dfa131
--- /dev/null
+++ b/shopify/staged/free-samples-banner/banner-port-to-main.patch
@@ -0,0 +1,48 @@
+--- theme.liquid.144070803507.original	2026-06-30 04:17:15
++++ theme.liquid.144088858675.with-banner	2026-06-30 04:17:15
+@@ -529,7 +529,45 @@
+       <p style="font-size:16px;color:#666;max-width:500px;">We apologize for the inconvenience, but this store does not currently serve customers in your region.</p>
+     </div>
+     <style>body{overflow:hidden !important;}</style>
++  {%- endif -%}
++
++  {%- comment -%} DW-SAMPLES-BANNER v1 — staged free-samples announcement (dismissible, trade-aware). NEVER touches live unless this theme is published. {%- endcomment -%}
++<!-- DW-SAMPLES-BANNER v1 -->
++{%- assign dw_is_trade = false -%}
++{%- if customer and customer.tags contains 'trade' -%}{%- assign dw_is_trade = true -%}{%- endif -%}
++<style>
++  .dw-sample-banner{position:relative;z-index:60;background:#1a1714;color:#faf7f2;
++    font-family:-apple-system,'Inter',system-ui,sans-serif;font-size:13px;line-height:1.4;
++    letter-spacing:.02em;padding:11px 46px 11px 20px;text-align:center;
++    border-bottom:1px solid #2b2620}
++  .dw-sample-banner a.dw-sb-cta{color:#faf7f2;text-decoration:underline;text-underline-offset:2px;
++    font-weight:600;white-space:nowrap}
++  .dw-sample-banner a.dw-sb-cta:hover{color:#e7c9a6}
++  .dw-sample-banner .dw-sb-lead{text-transform:uppercase;letter-spacing:.14em;font-size:11px;
++    font-weight:600;color:#b8865c;margin-right:8px}
++  .dw-sample-banner .dw-sb-msg{display:inline}
++  .dw-sample-banner .dw-sb-x{position:absolute;right:14px;top:50%;transform:translateY(-50%);
++    background:none;border:0;color:#faf7f2;opacity:.6;font-size:18px;line-height:1;cursor:pointer;
++    padding:4px 8px}
++  .dw-sample-banner .dw-sb-x:hover{opacity:1}
++  @media(max-width:600px){.dw-sample-banner{font-size:12px;padding:10px 40px 10px 14px}
++    .dw-sample-banner .dw-sb-lead{display:block;margin:0 0 2px}}
++  .dw-sb-hidden{display:none !important}
++</style>
++<div class="dw-sample-banner" id="dwSampleBanner" role="region" aria-label="Free samples offer">
++  {%- if dw_is_trade -%}
++    <span class="dw-sb-lead">To the Trade</span>
++    <span class="dw-sb-msg">Your samples are always free, with no limit. <a class="dw-sb-cta" href="/collections/all">Browse the collection &rsaquo;</a></span>
++  {%- else -%}
++    <span class="dw-sb-lead">Welcome</span>
++    <span class="dw-sb-msg">Your first 3 samples are free. {% unless customer %}<a class="dw-sb-cta" href="/account/register">Designers &amp; trade &mdash; sign up for unlimited free samples &rsaquo;</a>{% else %}<a class="dw-sb-cta" href="/collections/all">Order your free samples &rsaquo;</a>{% endunless %}</span>
+   {%- endif -%}
++  <button class="dw-sb-x" type="button" aria-label="Dismiss" onclick="(function(b){try{localStorage.setItem('dw_sample_banner_dismissed','1');}catch(e){}b.parentNode.classList.add('dw-sb-hidden');})(this)">&times;</button>
++</div>
++<script>
++  (function(){try{if(localStorage.getItem('dw_sample_banner_dismissed')==='1'){var b=document.getElementById('dwSampleBanner');if(b)b.classList.add('dw-sb-hidden');}}catch(e){}})();
++</script>
++<!-- /DW-SAMPLES-BANNER -->
+ 
+   {% sections 'header-group' %}
+ 

← f8cd79bc Add offline web viewer for staged Sangetsu + Lilycolor SKUs  ·  back to Designer Wallcoverings  ·  note existing store discount codes in free-samples approval 0bacae1f →