diff --git a/web/src/components/ButtonsTabbed.jsx b/web/src/components/ButtonsTabbed.jsx index b7318d6bf..e49b9239d 100644 --- a/web/src/components/ButtonsTabbed.jsx +++ b/web/src/components/ButtonsTabbed.jsx @@ -3,13 +3,14 @@ import { useCallback, useState } from 'preact/hooks'; export default function ButtonsTabbed({ viewModes = [''], + currentViewMode = '', setViewMode = null, setHeader = null, headers = [''], className = 'text-gray-600 py-0 px-4 block hover:text-gray-500', selectedClassName = `${className} focus:outline-none border-b-2 font-medium border-gray-500`, }) { - const [selected, setSelected] = useState(0); + const [selected, setSelected] = useState(viewModes ? viewModes.indexOf(currentViewMode) : 0); const captitalize = (str) => { return `${str.charAt(0).toUpperCase()}${str.slice(1)}`; }; diff --git a/web/src/routes/Camera.jsx b/web/src/routes/Camera.jsx index 2b9a5e396..1a0a42791 100644 --- a/web/src/routes/Camera.jsx +++ b/web/src/routes/Camera.jsx @@ -30,7 +30,7 @@ export default function Camera({ camera }) { ? Math.round(cameraConfig.restream.jsmpeg.height * (cameraConfig.detect.width / cameraConfig.detect.height)) : 0; const [viewSource, setViewSource, sourceIsLoaded] = usePersistence(`${camera}-source`, 'mse'); - const sourceValues = cameraConfig && cameraConfig.restream.enabled ? ['mse', 'webrtc', 'jsmpeg'] : ['mse']; + const sourceValues = cameraConfig && cameraConfig.restream.enabled ? ['mse', 'webrtc', 'jsmpeg'] : ['jsmpeg']; const [options, setOptions] = usePersistence(`${camera}-feed`, emptyObject); const handleSetOption = useCallback( @@ -77,7 +77,7 @@ export default function Camera({ camera }) { labelPosition="after" /> - + @@ -116,7 +116,7 @@ export default function Camera({ camera }) { ); } - } else if (viewSource == 'webrtc') { + } else if (viewSource == 'webrtc' && cameraConfig.restream.enabled) { player = (
@@ -170,7 +170,7 @@ export default function Camera({ camera }) {
- + {player}