diff --git a/index.html b/index.html index 020d5c2..4c318e4 100644 --- a/index.html +++ b/index.html @@ -2380,8 +2380,8 @@ if (window.location.protocol === 'file:') { } loadGroups(); loadBoardOrder(); -loadState(); seedCards(); +loadState(); renderSidebar(); loadIdeas(); renderIdeas(); @@ -2389,7 +2389,7 @@ show('doener'); setView('overview'); // ── CARD SEEDER ────────────────────────────────────────────────────────────── -const CARD_SEED_VERSION = '2026-05-20-a'; +const CARD_SEED_VERSION = '2026-05-20-b'; function seedCards() { if (localStorage.getItem('kanban_cards_seeded') === CARD_SEED_VERSION) return; const batch = { @@ -2402,13 +2402,13 @@ function seedCards() { musichub: ['Status quo klären','Neues Sprint Goal definieren'], doener: ['App-Store-Launch als Sprint Goal definieren'], }; + const snap = JSON.parse(localStorage.getItem('kanban_v2') || '{}'); Object.entries(batch).forEach(([id, tasks]) => { - if (!BOARDS[id]) return; - const ready = BOARDS[id].cols.find(c => c.id === 'ready'); - if (!ready) return; - tasks.forEach(t => { if (!ready.tasks.find(c => c.t === t)) ready.tasks.push({t}); }); + if (!snap[id]) snap[id] = {cols:[{id:'ready',label:'Ready',tasks:[]},{id:'wip',label:'In Progress',tasks:[]},{id:'done',label:'Done',tasks:[]}],focus:''}; + const ready = (snap[id].cols || []).find(c => c.id === 'ready'); + if (ready) tasks.forEach(t => { if (!ready.tasks.find(c => c.t === t)) ready.tasks.push({t}); }); }); - saveState(); + localStorage.setItem('kanban_v2', JSON.stringify(snap)); localStorage.setItem('kanban_cards_seeded', CARD_SEED_VERSION); }