From ecad26047287ed2f65ee782cc02edae8323017c0 Mon Sep 17 00:00:00 2001 From: jorg-vr Date: Wed, 21 Jun 2023 15:38:26 +0200 Subject: [PATCH] Fix themepicker --- .../javascripts/components/theme_picker.ts | 20 +++++++++++-------- app/assets/javascripts/i18n/translations.json | 10 ++++++++++ app/assets/stylesheets/components.css.scss | 1 + .../components/themepicker.css.scss | 13 ++++++++++++ config/locales/js/en.yml | 4 ++++ config/locales/js/nl.yml | 4 ++++ 6 files changed, 44 insertions(+), 8 deletions(-) create mode 100644 app/assets/stylesheets/components/themepicker.css.scss 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`