Use persistence for live layout (#10114)

* Use persistence for live layout

* Fix typing

* Fix persistence typing

* remove type

* More type fixing
This commit is contained in:
Nicolas Mowen
2024-02-28 07:16:16 -07:00
committed by GitHub
parent 485057abc1
commit 8072ce25c6
5 changed files with 21 additions and 17 deletions

View File

@@ -7,7 +7,7 @@ import { LivePlayerMode } from "@/types/live";
export default function useCameraLiveMode(
cameraConfig: CameraConfig,
preferredMode?: string
): LivePlayerMode {
): LivePlayerMode | undefined {
const { data: config } = useSWR<FrigateConfig>("config");
const restreamEnabled = useMemo(() => {
@@ -22,10 +22,10 @@ export default function useCameraLiveMode(
)
);
}, [config, cameraConfig]);
const defaultLiveMode = useMemo(() => {
const defaultLiveMode = useMemo<LivePlayerMode | undefined>(() => {
if (config && cameraConfig) {
if (restreamEnabled) {
return cameraConfig.ui.live_mode || config?.ui.live_mode;
return cameraConfig.ui.live_mode || config.ui.live_mode;
}
return "jsmpeg";
@@ -33,7 +33,7 @@ export default function useCameraLiveMode(
return undefined;
}, [cameraConfig, restreamEnabled]);
const [viewSource] = usePersistence(
const [viewSource] = usePersistence<LivePlayerMode>(
`${cameraConfig.name}-source`,
defaultLiveMode
);