diff --git a/internal/web/static/settings.js b/internal/web/static/settings.js index 961ff83..17eca0d 100644 --- a/internal/web/static/settings.js +++ b/internal/web/static/settings.js @@ -73,7 +73,10 @@ }); btn.addEventListener('click', function () { var dark = state().dark; - document.documentElement.dataset.preset = dark ? t.id + '-dark' : t.id; + // #294: use the generic variant resolvers - midnight is dark-first + // (dark preset = 'midnight', light = 'midnight-light'), so a raw + // t.id + '-dark' build landed on nonexistent/forced-dark presets. + document.documentElement.dataset.preset = dark ? darkPreset(t.id) : lightPreset(t.id); try { localStorage.setItem('palette-theme', t.id); } catch (e) {} Object.keys(cards).forEach(function (k) { cards[k].setAttribute('aria-pressed', 'false'); }); btn.setAttribute('aria-pressed', 'true');