fix: auto-merge new apps from roadmap.json into localStorage on load

This commit is contained in:
posimai 2026-03-22 23:38:02 +09:00
parent 6944c83c0b
commit e228b2bbde
1 changed files with 18 additions and 1 deletions

View File

@ -851,7 +851,24 @@ let appSearch = '';
async function loadData(forceFile = false) {
if (!forceFile) {
const raw = localStorage.getItem(STORAGE_KEY);
if (raw) { try { data = JSON.parse(raw); return; } catch (_) {} }
if (raw) {
try {
data = JSON.parse(raw);
// Merge any new apps added to roadmap.json that aren't in localStorage yet
const res = await fetch('/roadmap.json');
const fresh = await res.json();
const existingIds = new Set(data.apps.map(a => a.id));
let changed = false;
for (const app of fresh.apps) {
if (!existingIds.has(app.id)) {
data.apps.push(app);
changed = true;
}
}
if (changed) persist();
return;
} catch (_) {}
}
}
const res = await fetch('/roadmap.json');
data = await res.json();