feat: theme system with persistent selection and Dark Ocean starter theme

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
HoneyandClaude Sonnet 4.6 committed 2026-04-28 10:10:44 +02:00
1 parent 1bb8494fdb
commit c046aea776
5 files changed
+115 -9

No files matched your search

+5 -1
View File
@@ -2,6 +2,7 @@ import { S } from './state.js';
import { toast } from './utils.js';
import { api } from './api.js';
import { injectPWA } from './pwa.js';
import { loadSavedTheme } from './themes.js';
import {
playQueue, playCurrent, togglePlay, prevSong, nextSong, onEnded,
toggleShuffle, toggleRepeat, toggleQueue, setVolume, seekTo,
@@ -31,6 +32,7 @@ import {
deletePlaylist, _confirmOk, _confirmCancel,
toggleMobileSearch, closeMobileSearch, switchSetupTab,
toggleNotifPanel, deleteNotif, clearNotifs, initNotifBell, _notifNavigate,
_pickTheme,
} from './ui.js';
// ─── CONNECT ───
@@ -92,6 +94,8 @@ async function startApp() {
// ─── INIT ───
window.addEventListener('load', () => {
loadSavedTheme();
// Wire up audio elements from DOM
S.audio = document.getElementById('audio-element');
S.previewAudio = document.getElementById('preview-audio');
@@ -241,7 +245,7 @@ Object.assign(window, {
openEditPlModal, closeEditPlModal, saveEditPlaylist,
editPlUploadCover, editPlCoverSelected, editPlRemoveCover, deletePlaylist, _confirmOk, _confirmCancel,
toggleMobileSearch, closeMobileSearch, switchSetupTab,
toggleNotifPanel, deleteNotif, clearNotifs, _notifNavigate,
toggleNotifPanel, deleteNotif, clearNotifs, _notifNavigate, _pickTheme,
// App
doConnect, disconnect,
});