[object Object]

← back to Wallco Ai

feat(/design/:id): breadcrumb back-link inherits the filtered-grid URL the user came from via document.referrer — same-origin /designs only; preserves hue/motif/cat/q/sort context

9a35a7718c63ed22e860771a3bc58a209cab1618 · 2026-05-14 11:07:36 -0700 · SteveStudio2

Files touched

Diff

commit 9a35a7718c63ed22e860771a3bc58a209cab1618
Author: SteveStudio2 <stevestudio2@SteveStacStudio.lan>
Date:   Thu May 14 11:07:36 2026 -0700

    feat(/design/:id): breadcrumb back-link inherits the filtered-grid URL the user came from via document.referrer — same-origin /designs only; preserves hue/motif/cat/q/sort context
---
 server.js | 18 +++++++++++++++++-
 1 file changed, 17 insertions(+), 1 deletion(-)

diff --git a/server.js b/server.js
index ddd1679..7b1fd81 100644
--- a/server.js
+++ b/server.js
@@ -6910,7 +6910,23 @@ ${htmlHeader('/designs')}
       </div>
     </div>
     <div class="detail-info-col">
-      <p class="detail-breadcrumb"><a href="/designs">Designs</a> &rsaquo; ${design.category}</p>
+      <p class="detail-breadcrumb"><a href="/designs" id="back-to-grid">Designs</a> &rsaquo; ${design.category}</p>
+      <script>
+      // Preserve the filtered grid URL the user came from so clicking Designs
+      // returns them to /designs?hue=rose&motif=floral, not bare /designs.
+      // Only honors same-origin /designs referrers; everything else stays default.
+      (function(){
+        var a = document.getElementById('back-to-grid'); if (!a) return;
+        try {
+          var ref = document.referrer || '';
+          if (!ref) return;
+          var u = new URL(ref);
+          if (u.origin !== location.origin) return;
+          if (!u.pathname.startsWith('/designs')) return;
+          if (u.search) a.href = u.pathname + u.search;
+        } catch(_) {}
+      })();
+      </script>
       <h1 class="detail-title">${design.title}</h1>
 
       <div class="provenance-badge">

← 8a9c08f feat(a11y): visible focus ring on design cards via :focus-vi  ·  back to Wallco Ai  ·  feat(/designs): proper empty-state when filter combo returns 508fcbe →