feat(scheduler): add scheduled dark/light mode switching #24

Merged
addison merged 16 commits from exe-dev-bot/kiosk:feat/scheduled-dark-mode into main 2026-02-21 04:30:09 -05:00
Contributor

Background goroutine checks every 60s and sets theme based on dark_mode_start/dark_mode_end settings. Handles overnight ranges. Only writes when value changes. Disabled when either setting is empty.

Admin UI: combined Dark Mode card with manual toggle and schedule inputs.

Kiosk display: rotation aligned to :00/:30 instead of fixed 30s interval.

Background goroutine checks every 60s and sets theme based on dark_mode_start/dark_mode_end settings. Handles overnight ranges. Only writes when value changes. Disabled when either setting is empty. Admin UI: combined Dark Mode card with manual toggle and schedule inputs. Kiosk display: rotation aligned to :00/:30 instead of fixed 30s interval.
- New background goroutine checks every 60s and sets theme based on
  dark_mode_start/dark_mode_end settings (24hr time format)
- Handles overnight ranges (e.g. 21:00-06:30)
- Only writes theme setting when value actually changes
- Disabled when either setting is empty (manual toggle works as before)
- Admin UI: Dark Mode Schedule section with time inputs, save/clear
- Allow empty value in PUT /api/settings to clear/delete settings
- Add DeleteSetting helper to db layer

Co-authored-by: Shelley <shelley@exe.dev>
exe-dev-bot force-pushed feat/scheduled-dark-mode from edf5cad8df to ff36377846 2026-02-20 07:39:25 -05:00 Compare
exe-dev-bot force-pushed feat/scheduled-dark-mode from ff36377846 to 076ce1fe9d 2026-02-20 07:46:48 -05:00 Compare
exe-dev-bot force-pushed feat/scheduled-dark-mode from 076ce1fe9d to e329ba8dc2 2026-02-21 03:31:59 -05:00 Compare
exe-dev-bot force-pushed feat/scheduled-dark-mode from e329ba8dc2 to 3f3b50cc18 2026-02-21 04:04:59 -05:00 Compare
Co-authored-by: Shelley <shelley@exe.dev>
Remove theme toggle button from header. Replace 'Dark Mode Schedule'
section with combined 'Dark Mode' card containing a text-based toggle
(Off/On/Scheduled) and the schedule inputs below.

Co-authored-by: Shelley <shelley@exe.dev>
Co-authored-by: Shelley <shelley@exe.dev>
Co-authored-by: Shelley <shelley@exe.dev>
Co-authored-by: Shelley <shelley@exe.dev>
Co-authored-by: Shelley <shelley@exe.dev>
Co-authored-by: Shelley <shelley@exe.dev>
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
kwila/kiosk!24
No description provided.