← back to Wine Finder
persist search-results sort selection to localStorage
62b92a066f7f93cd9e65e8a83e2e088bc77973fe · 2026-05-19 21:42:08 -0700 · Steve Abrams
Hydrate the saved value before the first render and save on every
change, matching the universal sort-persistence rule used across the
DW family. Wrapped in try/catch in case localStorage is disabled.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Files touched
Diff
commit 62b92a066f7f93cd9e65e8a83e2e088bc77973fe
Author: Steve Abrams <steve@designerwallcoverings.com>
Date: Tue May 19 21:42:08 2026 -0700
persist search-results sort selection to localStorage
Hydrate the saved value before the first render and save on every
change, matching the universal sort-persistence rule used across the
DW family. Wrapped in try/catch in case localStorage is disabled.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
---
public/js/app.js | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/public/js/app.js b/public/js/app.js
index 4a73e4a..802027d 100644
--- a/public/js/app.js
+++ b/public/js/app.js
@@ -16,8 +16,19 @@ const chartTitle = document.getElementById('chartTitle');
const closeChartBtn = document.getElementById('closeChartBtn');
const logoutBtn = document.getElementById('logoutBtn');
+// LocalStorage keys for UI preferences
+const LS_SORT_KEY = 'wine-finder.sort';
+
// Initialize
document.addEventListener('DOMContentLoaded', () => {
+ // Hydrate saved sort preference BEFORE any list render
+ try {
+ const savedSort = localStorage.getItem(LS_SORT_KEY);
+ if (savedSort && sortSelect) {
+ const opt = Array.from(sortSelect.options).find(o => o.value === savedSort);
+ if (opt) sortSelect.value = savedSort;
+ }
+ } catch (e) { /* localStorage may be disabled */ }
setupEventListeners();
});
@@ -40,6 +51,7 @@ function setupEventListeners() {
// Sort
sortSelect.addEventListener('change', () => {
+ try { localStorage.setItem(LS_SORT_KEY, sortSelect.value); } catch (e) { /* noop */ }
sortAndDisplayResults();
});
← c5daa13 guard static-file routes against .bak/.pre-/.orig snapshot l
·
back to Wine Finder
·
(newest)