From eb6ed215fe1e1a8f4e8c2b419b8b58eedf32e62d Mon Sep 17 00:00:00 2001 From: Jonathan Sykes Date: Sun, 16 Aug 2026 16:33:26 +0000 Subject: [PATCH] Add 6 selectable layout themes to Settings (Appearance) --- frontend/app.js | 7 ++ frontend/styles.css | 221 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 228 insertions(+) diff --git a/frontend/app.js b/frontend/app.js index debd411..ac555b6 100755 --- a/frontend/app.js +++ b/frontend/app.js @@ -248,6 +248,7 @@ const DEFAULT_SETTINGS = { density: 'comfortable', // 'comfortable' | 'compact' perfMode: false, // disable heavy visual effects for speed reduceMotion: false, // disable animations + layout: 'classic', // 'classic'|'sanctuary-stage'|'liturgical'|'living-hymnal'|'broadcaster'|'contemplative'|'bento-hub' autoBackupEnabled: false, autoBackupIntervalDays: 7, }; @@ -832,6 +833,7 @@ function applyAppearance() { root.dataset.density = s.density || 'comfortable'; root.dataset.perf = s.perfMode ? 'on' : 'off'; root.dataset.motion = s.reduceMotion ? 'reduced' : 'full'; + root.dataset.layout = s.layout || 'classic'; } function fmtBytes(n) { if (!n) return '0 B'; @@ -2853,6 +2855,10 @@ async function renderSettings() { Theme ${sel('setTheme', data.settings.theme, [['dark', 'Dark'], ['light', 'Light'], ['contrast', 'High contrast']])} +