[object Object]

← back to Glitterwalls

pre-paint hydration for density + view (no grid-column flash on reload)

18d2974537a94e762b6d985b29411f24d25d3d95 · 2026-05-25 21:07:23 -0700 · steve

Files touched

Diff

commit 18d2974537a94e762b6d985b29411f24d25d3d95
Author: steve <steve@designerwallcoverings.com>
Date:   Mon May 25 21:07:23 2026 -0700

    pre-paint hydration for density + view (no grid-column flash on reload)
---
 public/index.html | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)

diff --git a/public/index.html b/public/index.html
index 211148b..d529f79 100644
--- a/public/index.html
+++ b/public/index.html
@@ -208,7 +208,19 @@ textarea:focus-visible,
 }
 </style>
 <script>
-(function(){ try { var t = localStorage.getItem('glit_theme') || 'light'; document.documentElement.dataset.theme = t; } catch(e){} })();
+(function(){
+  try { var t = localStorage.getItem('glit_theme') || 'light'; document.documentElement.dataset.theme = t; } catch(e){}
+  // Pre-paint density hydration: prevents grid-column flash on reload.
+  try {
+    var d = parseInt(localStorage.getItem('glit_theme_density') || '6', 10);
+    if (d >= 4 && d <= 12) document.documentElement.style.setProperty('--cols', d);
+  } catch(e){}
+  // Pre-paint view (grid/list) hydration: prevents list↔grid layout flash.
+  try {
+    var v = localStorage.getItem('gw_view');
+    if (v === 'list' || v === 'grid') document.documentElement.dataset.view = v;
+  } catch(e){}
+})();
 </script>
 <link rel="preconnect" href="https://fonts.googleapis.com">
 <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>

← 6337f65 /api/facets total now reflects filtered list (respects q + a  ·  back to Glitterwalls  ·  404-guard for .bak/.pre-* paths (defense-in-depth, never ser b555921 →