diff --git a/.changes/ui-welcome-follows-app-theme.md b/.changes/ui-welcome-follows-app-theme.md new file mode 100644 index 000000000..b44e3f43c --- /dev/null +++ b/.changes/ui-welcome-follows-app-theme.md @@ -0,0 +1,6 @@ +--- +type: fix +area: ui +--- + +The welcome screen, the empty Sources page and the drop-a-playlist overlay now follow the theme chosen in Settings instead of the system's light or dark mode. Panels, borders and the search box that were invisible in the light theme now show, and a few labels that fell back to the wrong colour use the theme's colours. diff --git a/.codex/skills/iptvnator-theme-style/SKILL.md b/.codex/skills/iptvnator-theme-style/SKILL.md index 0ff05e5e4..14ff5151d 100644 --- a/.codex/skills/iptvnator-theme-style/SKILL.md +++ b/.codex/skills/iptvnator-theme-style/SKILL.md @@ -15,13 +15,14 @@ description: Use when changing IPTVnator SCSS tokens, shared layout mixins, port `libs/ui/styles/_detail-view-actions.scss` - UI policy and migration debt: `docs/architecture/iptvnator-ui-guidelines.md` -The index is a barrel, not a configured Sass include path. Production -consumers currently use relative `@use` paths to the needed partial. +The index is a barrel, not a Sass include path: consumers `@use` each +partial by relative path. ## Token Boundary - App-owned surfaces, text, separators, hover states, selections, and provider - accents use `--app-*` tokens from `m3-theme.scss`. + accents use `--app-*` tokens from `m3-theme.scss`, switched by + `.dark-theme`, not `prefers-color-scheme`. - Use `--app-selection-on-color` for foregrounds placed on the selection accent; do not assume white has enough contrast in both themes. - Angular Material mixins and Material-component overrides may use Material diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 66cbc9a91..f5a2e1418 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -418,6 +418,11 @@ jobs: - name: Validate Material icon names run: pnpm run styles:icon-ligatures:validate + # A var() read nothing declares always falls back, and a + # prefers-color-scheme query follows the OS, not the app theme. + - name: Validate theme references + run: pnpm run styles:theme-references:validate + # A tooltip is not an accessible name: an icon-only