diff options
| author | Craig Jennings <c@cjennings.net> | 2026-07-12 20:30:07 -0500 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-07-12 20:30:07 -0500 |
| commit | 70507b703223e63dd696fe66521dd702c94945a6 (patch) | |
| tree | 971881c3e3a6536a7a985666d9a0d994ecb44e42 | |
| parent | b062359a93a6b3308d98e4318bb8623f8a00220a (diff) | |
| download | archsetup-70507b703223e63dd696fe66521dd702c94945a6.tar.gz archsetup-70507b703223e63dd696fe66521dd702c94945a6.zip | |
feat(gallery): persist the widget-size choice across refreshes
The S/M/L pick saves to localStorage alongside the validation lamps and restores on load, falling back to the default M when unset or invalid.
| -rw-r--r-- | docs/prototypes/panel-widget-gallery.html | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/docs/prototypes/panel-widget-gallery.html b/docs/prototypes/panel-widget-gallery.html index 99342bc..168a50c 100644 --- a/docs/prototypes/panel-widget-gallery.html +++ b/docs/prototypes/panel-widget-gallery.html @@ -692,8 +692,13 @@ const $ = id => document.getElementById(id); const reduced = matchMedia('(prefers-reduced-motion: reduce)').matches; document.querySelectorAll('.szbar .key').forEach(b=>b.addEventListener('click',()=>{ document.body.dataset.size=b.dataset.sz; + localStorage.setItem('gv-size',b.dataset.sz); document.querySelectorAll('.szbar .key').forEach(k=>k.classList.toggle('on',k===b)); })); +(function(){const s=localStorage.getItem('gv-size'); + if(!s||!/^[123]$/.test(s))return; + document.body.dataset.size=s; + document.querySelectorAll('.szbar .key').forEach(k=>k.classList.toggle('on',k.dataset.sz===s));})(); /* boost the intrinsically tiny widgets (audit: content under 10% of the stage) */ const BOOST=['01','07','08','12','13','N14','18']; |
