[object Object]

← back to Linkedin Like Helper

feed mode: persist Opened set to localStorage so progress survives reloads

d7cf6b077ce783cf377bea5d71187b47ba05daf4 · 2026-07-01 09:50:15 -0700 · Steve Abrams

Files touched

Diff

commit d7cf6b077ce783cf377bea5d71187b47ba05daf4
Author: Steve Abrams <steve@designerwallcoverings.com>
Date:   Wed Jul 1 09:50:15 2026 -0700

    feed mode: persist Opened set to localStorage so progress survives reloads
---
 index.html | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/index.html b/index.html
index 9f8112f..b0796e9 100644
--- a/index.html
+++ b/index.html
@@ -233,7 +233,10 @@ const PRESETS = [
   {label:'#designtrends',        url:HASH('designtrends'),       tag:'hashtag', on:false},
   {label:'#architecture',        url:HASH('architecture'),       tag:'hashtag', on:false},
 ];
-let fOpened = new Set();   // urls opened this session
+const FOPEN_KEY = 'lk_feed_opened';
+function loadFeedOpened(){ const v = loadKey(FOPEN_KEY); return new Set(Array.isArray(v.urls) ? v.urls : []); }
+function saveFeedOpened(){ localStorage.setItem(FOPEN_KEY, JSON.stringify({ urls:[...fOpened] })); }
+let fOpened = loadFeedOpened();   // urls opened, persisted across reloads
 
 function loadFeedPrefs(){ return loadKey('lk_feed_prefs'); }
 function persistFeeds(){
@@ -287,9 +290,10 @@ function openNextFeeds(){
   const batch = pending.slice(0,n);
   openTabs(batch);
   batch.forEach(u=>fOpened.add(u));
+  saveFeedOpened();
   renderFeedStats();
 }
-function resetFeeds(){ fOpened.clear(); renderFeedStats(); }
+function resetFeeds(){ fOpened.clear(); saveFeedOpened(); renderFeedStats(); }
 
 /* ======================================================== */
 /*  POST-LINKS MODE                                         */

← 56aaf4f chore: refactor (loadKey helper, named TAB_STAGGER_MS), lint  ·  back to Linkedin Like Helper  ·  a11y: mode tabs are real buttons (keyboard focus + role=tab/ bfbe282 →