diff --git a/src/card.ts b/src/card.ts index 16f6c201..cfccf191 100644 --- a/src/card.ts +++ b/src/card.ts @@ -189,9 +189,6 @@ class FrigateCard extends LitElement { @state() protected _expand = false; - @state() - protected _viewDisplayMode?: ViewDisplayMode; - protected _microphoneController?: MicrophoneController; protected _conditionController?: ConditionController; protected _automationsController?: AutomationsController; @@ -503,7 +500,7 @@ class FrigateCard extends LitElement { if (cameraID) { const viewName = args?.viewName ?? this._getConfig().view.default; const displayMode = - this._viewDisplayMode ?? this._getDefaultDisplayModeForView(viewName); + this._view?.displayMode ?? this._getDefaultDisplayModeForView(viewName); changeView( new View({ view: viewName, @@ -1067,6 +1064,7 @@ class FrigateCard extends LitElement { protected _getDefaultDisplayModeForView(view: FrigateCardView): ViewDisplayMode { let mode: ViewDisplayMode | null = null; switch (view) { + case 'media': case 'clip': case 'clips': case 'recording': @@ -1238,11 +1236,6 @@ class FrigateCard extends LitElement { }); break; case 'display_mode_select': - this._viewDisplayMode = frigateCardAction.display_mode; - this._conditionController?.setState({ - displayMode: this._viewDisplayMode, - }); - const newView = this._view?.evolve({ displayMode: frigateCardAction.display_mode, }); diff --git a/src/components/timeline-core.ts b/src/components/timeline-core.ts index 729dcb63..984400f6 100644 --- a/src/components/timeline-core.ts +++ b/src/components/timeline-core.ts @@ -482,7 +482,7 @@ export class FrigateCardTimelineCore extends LitElement { const canSeek = this._shouldSupportSeeking(); const newResults = this._panBehavior === 'seek-in-media' - ? null + ? results : results .clone() .resetSelectedResult() diff --git a/src/view/view.ts b/src/view/view.ts index f4619678..e41e1db4 100644 --- a/src/view/view.ts +++ b/src/view/view.ts @@ -91,7 +91,12 @@ export class View { let currentQueriesView: ClipsOrSnapshots | 'recordings' | null = null; if (MediaQueriesClassifier.areEventQueries(curr.query)) { const queries = curr.query.getQueries(); - if (queries?.every((query) => query.hasClip)) { + if ( + queries?.every((query) => query.hasClip) || + queries?.every( + (query) => query.hasClip === undefined && query.hasSnapshot === undefined, + ) + ) { currentQueriesView = 'clips'; } else if (queries?.every((query) => query.hasSnapshot)) { currentQueriesView = 'snapshots';