diff --git a/app/assets/javascripts/components/theme_picker.ts b/app/assets/javascripts/components/theme_picker.ts index 177bd7f4b9..dda37aba49 100644 --- a/app/assets/javascripts/components/theme_picker.ts +++ b/app/assets/javascripts/components/theme_picker.ts @@ -1,19 +1,23 @@ import { ShadowlessLitElement } from "components/meta/shadowless_lit_element"; import { html, TemplateResult } from "lit"; import { customElement } from "lit/decorators.js"; -import { THEME_OPTIONS, ThemeOption, themeState } from "state/Theme"; +import { Theme, THEME_OPTIONS, ThemeOption, themeState } from "state/Theme"; import { fetch } from "util.js"; /** */ @customElement("d-theme-picker") export class ThemePicker extends ShadowlessLitElement { - static THEME_ICON_MAP: Record = { - "light": "mdi-light-mode", - "dark": "mdi-dark-mode", - "auto": "mdi-tonality", + static THEME_ICON_MAP: Record = { + "light": html``, + "dark": html``, }; + static getThemeIcon(theme: ThemeOption): TemplateResult { + const t = theme == "auto" ? themeState.preferredTheme : theme; + return ThemePicker.THEME_ICON_MAP[t]; + } + selectTheme(theme: ThemeOption): void { themeState.selectedTheme = theme; fetch("/theme", { @@ -27,12 +31,12 @@ export class ThemePicker extends ShadowlessLitElement { return html`