← 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
M shopify/staged/free-samples-banner/README.mdA shopify/staged/free-samples-banner/banner-port-to-main.patch
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 ›</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 & trade — sign up for unlimited free samples ›</a>{% else %}<a class="dw-sb-cta" href="/collections/all">Order your free samples ›</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)">×</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 →