Add separate flag for progress indicators.

This commit is contained in:
Dermot Duffy
2022-10-05 22:02:33 -07:00
parent cae49e6dce
commit 65cf4cf22d
4 changed files with 28 additions and 7 deletions
+2 -1
View File
@@ -122,7 +122,8 @@ export function renderProgressIndicator(options?: {
return html` return html`
<frigate-card-progress-indicator <frigate-card-progress-indicator
.message=${options?.message || ''} .message=${options?.message || ''}
.animated=${options?.cardWideConfig?.performance?.profile !== 'low'} .animated=${options?.cardWideConfig?.performance?.features
.animated_progress_indicator ?? true}
> >
</frigate-card-progress-indicator> </frigate-card-progress-indicator>
`; `;
+5 -1
View File
@@ -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_FULLSCREEN = `${CONF_MENU}.buttons.fullscreen` as const;
export const CONF_MENU_BUTTONS_IMAGE = `${CONF_MENU}.buttons.image` 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_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_SNAPSHOTS = `${CONF_MENU}.buttons.snapshots` as const;
export const CONF_MENU_BUTTONS_TIMELINE = `${CONF_MENU}.buttons.timeline` 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_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 // Taken from https://github.dev/home-assistant/frontend/blob/b5861869e39290fd2e15737e89571dfc543b3ad3/src/data/media-player.ts#L93
export const MEDIA_PLAYER_SUPPORT_BROWSE_MEDIA = 131072; export const MEDIA_PLAYER_SUPPORT_BROWSE_MEDIA = 131072;
+4
View File
@@ -41,6 +41,7 @@ import {
CONF_MENU_BUTTONS_MEDIA_PLAYER, CONF_MENU_BUTTONS_MEDIA_PLAYER,
CONF_MENU_BUTTONS_TIMELINE, CONF_MENU_BUTTONS_TIMELINE,
CONF_MENU_STYLE, CONF_MENU_STYLE,
CONF_PERFORMANCE_FEATURES_ANIMATED_PROGRESS_INDICATOR,
CONF_TIMELINE_CONTROLS_THUMBNAILS_MODE, CONF_TIMELINE_CONTROLS_THUMBNAILS_MODE,
CONF_TIMELINE_CONTROLS_THUMBNAILS_SHOW_DETAILS, CONF_TIMELINE_CONTROLS_THUMBNAILS_SHOW_DETAILS,
CONF_TIMELINE_CONTROLS_THUMBNAILS_SHOW_FAVORITE_CONTROL, 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_FAVORITE_CONTROL]: false,
[CONF_TIMELINE_CONTROLS_THUMBNAILS_SHOW_TIMELINE_CONTROL]: false, [CONF_TIMELINE_CONTROLS_THUMBNAILS_SHOW_TIMELINE_CONTROL]: false,
[CONF_TIMELINE_CONTROLS_THUMBNAILS_SHOW_DETAILS]: 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 = { const LOW_PROFILE_CAMERA_DEFAULTS = {
+17 -5
View File
@@ -206,7 +206,7 @@ const FRIGATE_CARD_GENERAL_ACTIONS = [
'menu_toggle', 'menu_toggle',
'diagnostics', 'diagnostics',
'recording', 'recording',
'recordings' 'recordings',
] as const; ] as const;
const FRIGATE_CARD_ACTIONS = [ const FRIGATE_CARD_ACTIONS = [
...FRIGATE_CARD_GENERAL_ACTIONS, ...FRIGATE_CARD_GENERAL_ACTIONS,
@@ -1208,11 +1208,23 @@ export type LiveOverrides = z.infer<typeof liveOverridesSchema>;
const performanceConfigDefault = { const performanceConfigDefault = {
profile: 'high' as const, profile: 'high' as const,
} features: {
animated_progress_indicator: true,
},
};
const performanceConfigSchema = z.object({ const performanceConfigSchema = z
profile: z.enum(['low', 'high']) .object({
}).default(performanceConfigDefault); 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<typeof performanceConfigSchema>; export type PerformanceConfig = z.infer<typeof performanceConfigSchema>;
export interface CardWideConfig { export interface CardWideConfig {