From 65cf4cf22df3a6321acded64f298a77a77dcd82b Mon Sep 17 00:00:00 2001 From: Dermot Duffy Date: Wed, 5 Oct 2022 22:02:33 -0700 Subject: [PATCH] Add separate flag for progress indicators. --- src/components/message.ts | 3 ++- src/const.ts | 6 +++++- src/performance.ts | 4 ++++ src/types.ts | 22 +++++++++++++++++----- 4 files changed, 28 insertions(+), 7 deletions(-) diff --git a/src/components/message.ts b/src/components/message.ts index 448057ab..4d2688b1 100644 --- a/src/components/message.ts +++ b/src/components/message.ts @@ -122,7 +122,8 @@ export function renderProgressIndicator(options?: { return html` `; diff --git a/src/const.ts b/src/const.ts index ff49457a..f29e02ac 100644 --- a/src/const.ts +++ b/src/const.ts @@ -192,7 +192,8 @@ export const CONF_MENU_BUTTONS_FRIGATE_UI = `${CONF_MENU}.buttons.frigate_ui` as export const CONF_MENU_BUTTONS_FULLSCREEN = `${CONF_MENU}.buttons.fullscreen` as const; export const CONF_MENU_BUTTONS_IMAGE = `${CONF_MENU}.buttons.image` as const; export const CONF_MENU_BUTTONS_LIVE = `${CONF_MENU}.buttons.live` as const; -export const CONF_MENU_BUTTONS_MEDIA_PLAYER = `${CONF_MENU}.buttons.media_player` as const; +export const CONF_MENU_BUTTONS_MEDIA_PLAYER = + `${CONF_MENU}.buttons.media_player` as const; export const CONF_MENU_BUTTONS_SNAPSHOTS = `${CONF_MENU}.buttons.snapshots` as const; export const CONF_MENU_BUTTONS_TIMELINE = `${CONF_MENU}.buttons.timeline` as const; @@ -203,5 +204,8 @@ export const CONF_DIMENSIONS_ASPECT_RATIO_MODE = export const CONF_OVERRIDES = 'overrides' as const; +export const CONF_PERFORMANCE = 'performance' as const; +export const CONF_PERFORMANCE_FEATURES_ANIMATED_PROGRESS_INDICATOR = `${CONF_PERFORMANCE}.features.animated_progress_indicator`; + // Taken from https://github.dev/home-assistant/frontend/blob/b5861869e39290fd2e15737e89571dfc543b3ad3/src/data/media-player.ts#L93 export const MEDIA_PLAYER_SUPPORT_BROWSE_MEDIA = 131072; diff --git a/src/performance.ts b/src/performance.ts index ed6eb928..176cef3c 100644 --- a/src/performance.ts +++ b/src/performance.ts @@ -41,6 +41,7 @@ import { CONF_MENU_BUTTONS_MEDIA_PLAYER, CONF_MENU_BUTTONS_TIMELINE, CONF_MENU_STYLE, + CONF_PERFORMANCE_FEATURES_ANIMATED_PROGRESS_INDICATOR, CONF_TIMELINE_CONTROLS_THUMBNAILS_MODE, CONF_TIMELINE_CONTROLS_THUMBNAILS_SHOW_DETAILS, CONF_TIMELINE_CONTROLS_THUMBNAILS_SHOW_FAVORITE_CONTROL, @@ -110,6 +111,9 @@ const LOW_PROFILE_DEFAULTS = { [CONF_TIMELINE_CONTROLS_THUMBNAILS_SHOW_FAVORITE_CONTROL]: false, [CONF_TIMELINE_CONTROLS_THUMBNAILS_SHOW_TIMELINE_CONTROL]: false, [CONF_TIMELINE_CONTROLS_THUMBNAILS_SHOW_DETAILS]: false, + + // Disable all optional performance related features. + [CONF_PERFORMANCE_FEATURES_ANIMATED_PROGRESS_INDICATOR]: false, }; const LOW_PROFILE_CAMERA_DEFAULTS = { diff --git a/src/types.ts b/src/types.ts index 43cfced5..88112481 100644 --- a/src/types.ts +++ b/src/types.ts @@ -206,7 +206,7 @@ const FRIGATE_CARD_GENERAL_ACTIONS = [ 'menu_toggle', 'diagnostics', 'recording', - 'recordings' + 'recordings', ] as const; const FRIGATE_CARD_ACTIONS = [ ...FRIGATE_CARD_GENERAL_ACTIONS, @@ -1208,11 +1208,23 @@ export type LiveOverrides = z.infer; const performanceConfigDefault = { profile: 'high' as const, -} + features: { + animated_progress_indicator: true, + }, +}; -const performanceConfigSchema = z.object({ - profile: z.enum(['low', 'high']) -}).default(performanceConfigDefault); +const performanceConfigSchema = z + .object({ + profile: z.enum(['low', 'high']), + features: z + .object({ + animated_progress_indicator: z + .boolean() + .default(performanceConfigDefault.features.animated_progress_indicator), + }) + .default(performanceConfigDefault.features), + }) + .default(performanceConfigDefault); export type PerformanceConfig = z.infer; export interface CardWideConfig {