From 01d5b04e77518a627f5a9e11b9e10a563db117d4 Mon Sep 17 00:00:00 2001 From: Dermot Duffy Date: Sun, 17 Apr 2022 21:38:23 -0700 Subject: [PATCH] Add editor support for `dark_mode` --- src/const.ts | 1 + src/editor.ts | 12 ++++++++++++ src/localize/languages/en.json | 6 ++++++ 3 files changed, 19 insertions(+) diff --git a/src/const.ts b/src/const.ts index cd300e66..193b9661 100644 --- a/src/const.ts +++ b/src/const.ts @@ -21,6 +21,7 @@ export const CONF_CAMERAS_ARRAY_LIVE_PROVIDER = export const CONF_VIEW = 'view' as const; export const CONF_VIEW_CAMERA_SELECT = `${CONF_VIEW}.camera_select` as const; +export const CONF_VIEW_DARK_MODE = `${CONF_VIEW}.dark_mode` as const; export const CONF_VIEW_DEFAULT = `${CONF_VIEW}.default` as const; export const CONF_VIEW_TIMEOUT_SECONDS = `${CONF_VIEW}.timeout_seconds` as const; export const CONF_VIEW_UPDATE_CYCLE_CAMERA = `${CONF_VIEW}.update_cycle_camera` as const; diff --git a/src/editor.ts b/src/editor.ts index af83bfaa..851c2f21 100644 --- a/src/editor.ts +++ b/src/editor.ts @@ -81,6 +81,7 @@ import { CONF_TIMELINE_MEDIA, CONF_TIMELINE_WINDOW_SECONDS, CONF_VIEW_CAMERA_SELECT, + CONF_VIEW_DARK_MODE, CONF_VIEW_DEFAULT, CONF_VIEW_TIMEOUT_SECONDS, CONF_VIEW_UPDATE_CYCLE_CAMERA, @@ -343,6 +344,13 @@ export class FrigateCardEditor extends LitElement implements LovelaceCardEditor { value: 'snapshots', label: localize('config.timeline.medias.snapshots') }, ]; + protected _darkModes = [ + { value: '', label: '' }, + { value: 'on', label: localize('config.view.dark_modes.on') }, + { value: 'off', label: localize('config.view.dark_modes.off') }, + { value: 'auto', label: localize('config.view.dark_modes.auto') }, + ]; + public setConfig(config: RawFrigateCardConfig): void { // Note: This does not use Zod to parse the configuration, so it may be // partially or completely invalid. It's more useful to have a partially @@ -833,6 +841,10 @@ export class FrigateCardEditor extends LitElement implements LovelaceCardEditor CONF_VIEW_CAMERA_SELECT, this._cameraSelectViewModes, )} + ${this._renderOptionSelector( + CONF_VIEW_DARK_MODE, + this._darkModes, + )} ${this._renderNumberInput(CONF_VIEW_TIMEOUT_SECONDS)} ${this._renderNumberInput(CONF_VIEW_UPDATE_SECONDS)} ${this._renderSwitch(CONF_VIEW_UPDATE_FORCE, defaults.view.update_force)} diff --git a/src/localize/languages/en.json b/src/localize/languages/en.json index 71fc11fb..1a1a0969 100644 --- a/src/localize/languages/en.json +++ b/src/localize/languages/en.json @@ -34,6 +34,12 @@ }, "view": { "camera_select": "View for newly selected cameras", + "dark_mode": "Dark mode", + "dark_modes": { + "on": "On", + "off": "Off", + "auto": "Auto" + }, "default": "Default view", "views": { "live": "Live view",