diff --git a/web/src/components/CameraControlPanel.jsx b/web/src/components/CameraControlPanel.jsx index 3ab37113c..e062e1ffc 100644 --- a/web/src/components/CameraControlPanel.jsx +++ b/web/src/components/CameraControlPanel.jsx @@ -3,6 +3,10 @@ import { useState } from 'preact/hooks'; import useSWR from 'swr'; import { usePtzCommand } from '../api/ws'; import ActivityIndicator from './ActivityIndicator'; +import ArrowRightDouble from '../icons/ArrowRightDouble'; +import ArrowUpDouble from '../icons/ArrowUpDouble'; +import ArrowDownDouble from '../icons/ArrowDownDouble'; +import ArrowLeftDouble from '../icons/ArrowLeftDouble'; import Button from './Button'; export default function CameraControlPanel({ camera = '' }) { @@ -27,8 +31,24 @@ export default function CameraControlPanel({ camera = '' }) { } return ( -
- ptz is enabled with features {ptz.features[0]} +
+ {ptz.features.includes('pt') && ( +
+
+ +
+
+ + +
+
+ +
+
+ )} + + {ptz.features.includes('zoom') &&
zoom
} + {ptz.presets && (
diff --git a/web/src/icons/ArrowDownDouble.jsx b/web/src/icons/ArrowDownDouble.jsx new file mode 100644 index 000000000..7685542e9 --- /dev/null +++ b/web/src/icons/ArrowDownDouble.jsx @@ -0,0 +1,19 @@ +import { h } from 'preact'; +import { memo } from 'preact/compat'; + +export function ArrowDownDouble({ className = '' }) { + return ( + + + + ); +} + +export default memo(ArrowDownDouble); diff --git a/web/src/icons/ArrowLeftDouble.jsx b/web/src/icons/ArrowLeftDouble.jsx new file mode 100644 index 000000000..eaa25395c --- /dev/null +++ b/web/src/icons/ArrowLeftDouble.jsx @@ -0,0 +1,19 @@ +import { h } from 'preact'; +import { memo } from 'preact/compat'; + +export function ArrowLeftDouble({ className = '' }) { + return ( + + + + ); +} + +export default memo(ArrowLeftDouble); diff --git a/web/src/icons/ArrowRightDouble.jsx b/web/src/icons/ArrowRightDouble.jsx index 7487a4d5c..fc1960836 100644 --- a/web/src/icons/ArrowRightDouble.jsx +++ b/web/src/icons/ArrowRightDouble.jsx @@ -3,8 +3,15 @@ import { memo } from 'preact/compat'; export function ArrowRightDouble({ className = '' }) { return ( - - + + ); } diff --git a/web/src/icons/ArrowUpDouble.jsx b/web/src/icons/ArrowUpDouble.jsx new file mode 100644 index 000000000..7468a2b91 --- /dev/null +++ b/web/src/icons/ArrowUpDouble.jsx @@ -0,0 +1,19 @@ +import { h } from 'preact'; +import { memo } from 'preact/compat'; + +export function ArrowUpDouble({ className = '' }) { + return ( + + + + ); +} + +export default memo(ArrowUpDouble);