[object Object]

← back to Abrams

persist terminal market sort/group controls to localStorage

d2d61bc005c25710b85704a0ac047044e0751e3c · 2026-05-19 17:22:46 -0700 · SteveStudio2

Same gap as projects + ideas pages — sort and group selects fired
reload on change but never persisted, so reloads reverted to defaults.
Added abrams.terminal.sortMarket / .groupMarket with validation.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

Files touched

Diff

commit d2d61bc005c25710b85704a0ac047044e0751e3c
Author: SteveStudio2 <steve@designerwallcoverings.com>
Date:   Tue May 19 17:22:46 2026 -0700

    persist terminal market sort/group controls to localStorage
    
    Same gap as projects + ideas pages — sort and group selects fired
    reload on change but never persisted, so reloads reverted to defaults.
    Added abrams.terminal.sortMarket / .groupMarket with validation.
    
    Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
---
 public/terminal.html | 15 +++++++++++++--
 1 file changed, 13 insertions(+), 2 deletions(-)

diff --git a/public/terminal.html b/public/terminal.html
index 281a9193..9e2aeb1e 100644
--- a/public/terminal.html
+++ b/public/terminal.html
@@ -207,8 +207,19 @@ function tickClock() {
   document.getElementById('term-clock').textContent = t.toLocaleTimeString('en-US', { hour12: false });
 }
 
-document.getElementById('sort-market').addEventListener('change', loadMarket);
-document.getElementById('group-market').addEventListener('change', loadMarket);
+// hydrate sort/group from localStorage BEFORE first load (Steve standing rule)
+const savedMarketSort = localStorage.getItem('abrams.terminal.sortMarket');
+if (savedMarketSort) {
+  const el = document.getElementById('sort-market');
+  if ([...el.options].some(o => o.value === savedMarketSort)) el.value = savedMarketSort;
+}
+const savedMarketGroup = localStorage.getItem('abrams.terminal.groupMarket');
+if (savedMarketGroup !== null) {
+  const el = document.getElementById('group-market');
+  if ([...el.options].some(o => o.value === savedMarketGroup)) el.value = savedMarketGroup;
+}
+document.getElementById('sort-market').addEventListener('change', e => { localStorage.setItem('abrams.terminal.sortMarket', e.target.value); loadMarket(); });
+document.getElementById('group-market').addEventListener('change', e => { localStorage.setItem('abrams.terminal.groupMarket', e.target.value); loadMarket(); });
 
 loadMarket(); loadAbramsIndexes(); tickClock();
 setInterval(tickClock, 1000);

← 7a3c2c97 persist ideas-page sort/filter/density + apply density on hy  ·  back to Abrams  ·  404-guard for .bak/.pre-* paths + broaden .gitignore 7468c96b →