Skip to content

v1.7.2 — Theme coverage complete (for now)

Choose a tag to compare

@kingchddg901 kingchddg901 released this 10 Jul 07:12

A theming-completeness pass: every color the theme system should reach now resolves through a token — enforced by a build guard so it can't drift back.

Theming

  • Full token coverage. Swept the last hardcoded color literals out of the panel CSS and the standalone cards — map zone/highlight fills that ignored a re-themed accent, card hovers, text-on-accent, a mobile scrim, and more — routing each through the existing --evcc-* tokens with the original literal kept as fallback (so appearance is unchanged, and it follows a custom theme). 98.9% of color declarations now resolve through a theme token — 100% of the colors that should be themed. The remaining 1.1% are deliberately theme-independent (legibility whites that must read over any room color, a mix-blend-mode marker, a prefers-color-scheme: light block) — each explicitly marked with a reason.
  • Theme-lint guard. check-styles.mjs now fails the build — locally and in CI — on any un-tokenized color in the panel CSS or the cards. Deliberate exceptions carry a /* theme-lint-ignore */ with a rationale.
  • Coverage tracked. The generated token CSS-usage trace now stamps the coverage % on every regen, so the number moves with the code instead of going stale.

No new tokens (still 406 across 25 groups) — this raised coverage, not palette size.


Frontend-only — a browser hard-refresh (Ctrl+Shift+R) picks it up; no Home Assistant restart. Builds on the profile card from v1.7.1.