diff --git a/src/features/cameras/components/CameraGrid.tsx b/src/features/cameras/components/CameraGrid.tsx index 8f8c92c..4b1e627 100644 --- a/src/features/cameras/components/CameraGrid.tsx +++ b/src/features/cameras/components/CameraGrid.tsx @@ -12,7 +12,7 @@ const CameraGrid = () => { return ( <> -
+
diff --git a/src/features/cameras/components/CameraSettings/CameraSettings.tsx b/src/features/cameras/components/CameraSettings/CameraSettings.tsx index 2b5b1a5..55242ba 100644 --- a/src/features/cameras/components/CameraSettings/CameraSettings.tsx +++ b/src/features/cameras/components/CameraSettings/CameraSettings.tsx @@ -19,7 +19,7 @@ const CameraSettings = ({ setIsResetModalOpen, }: CameraSettingsProps) => { return ( - + +

Tools

@@ -247,22 +247,25 @@ const RegionSelector = ({

Actions

-
- - +
+
+ + +
+ diff --git a/src/features/cameras/components/CameraSettings/cameraControls/CameraControls.tsx b/src/features/cameras/components/CameraSettings/cameraControls/CameraControls.tsx index 4bafa47..dcfb408 100644 --- a/src/features/cameras/components/CameraSettings/cameraControls/CameraControls.tsx +++ b/src/features/cameras/components/CameraSettings/cameraControls/CameraControls.tsx @@ -29,7 +29,7 @@ const CameraControls = ({ cameraFeedID }: CameraControlsProps) => { }; return ( -
+

Camera {cameraFeedID}

diff --git a/src/features/cameras/components/PlatePatch/SightingEntryTable.tsx b/src/features/cameras/components/PlatePatch/SightingEntryTable.tsx index a674cca..b85e795 100644 --- a/src/features/cameras/components/PlatePatch/SightingEntryTable.tsx +++ b/src/features/cameras/components/PlatePatch/SightingEntryTable.tsx @@ -12,8 +12,9 @@ const SightingEntryTable = () => { if (isLoading) return Loading Sighting data…; return ( -
-
+
+ {/* Desktop Table */} +
@@ -37,6 +38,35 @@ const SightingEntryTable = () => {
+ + {/* Mobile Cards */} +
+ {readings?.map((reading: DecodeReading) => ( +
+
+ {reading?.vrm} + Bay {reading?.laneID} +
+
+ Seen Count: + {reading?.seenCount} +
+
+
+ First Seen: + {reading?.firstSeenTimeHumane} +
+
+ Last Seen: + {reading?.lastSeenTimeHumane} +
+
+
+ ))} +
); }; diff --git a/src/features/cameras/components/PlatePatch/SightingExitTable.tsx b/src/features/cameras/components/PlatePatch/SightingExitTable.tsx index 02d7ce4..3ba01f9 100644 --- a/src/features/cameras/components/PlatePatch/SightingExitTable.tsx +++ b/src/features/cameras/components/PlatePatch/SightingExitTable.tsx @@ -12,8 +12,9 @@ const SightingExitTable = () => { if (isLoading) return Loading Sighting data…; return ( -
-
+
+ {/* Desktop Table */} +
@@ -37,6 +38,35 @@ const SightingExitTable = () => {
+ + {/* Mobile Cards */} +
+ {readings?.map((reading: DecodeReading) => ( +
+
+ {reading?.vrm} + Bay {reading?.laneID} +
+
+ Seen Count: + {reading?.seenCount} +
+
+
+ First Seen: + {reading?.firstSeenTimeHumane} +
+
+ Last Seen: + {reading?.lastSeenTimeHumane} +
+
+
+ ))} +
); }; diff --git a/src/features/dashboard/components/statusGridItem/StatusGridItem.tsx b/src/features/dashboard/components/statusGridItem/StatusGridItem.tsx index d3577f2..9b3b833 100644 --- a/src/features/dashboard/components/statusGridItem/StatusGridItem.tsx +++ b/src/features/dashboard/components/statusGridItem/StatusGridItem.tsx @@ -21,7 +21,7 @@ const StatusGridItem = ({ title, statusCategory }: StatusGridItemProps) => { return ( <>
setIsOpen(true)} >

diff --git a/src/features/dashboard/components/systemHealth/SystemHealth.tsx b/src/features/dashboard/components/systemHealth/SystemHealth.tsx index 9e5aa62..37f62db 100644 --- a/src/features/dashboard/components/systemHealth/SystemHealth.tsx +++ b/src/features/dashboard/components/systemHealth/SystemHealth.tsx @@ -39,11 +39,11 @@ const SystemHealth = ({ startTime, uptime, statuses, isLoading, isError, dateUpd } return (
-
-
+
+

Start Time

{startTime}
-
+

Up Time

{uptime}
diff --git a/src/features/output/components/BearerTypeFields.tsx b/src/features/output/components/BearerTypeFields.tsx index 6257bc3..36f8e99 100644 --- a/src/features/output/components/BearerTypeFields.tsx +++ b/src/features/output/components/BearerTypeFields.tsx @@ -4,7 +4,7 @@ import type { FormTypes } from "../../../types/types"; const BearerTypeFields = () => { useFormikContext(); return ( -
+
diff --git a/src/features/output/components/ChannelCard.tsx b/src/features/output/components/ChannelCard.tsx index 811af53..cf440fd 100644 --- a/src/features/output/components/ChannelCard.tsx +++ b/src/features/output/components/ChannelCard.tsx @@ -10,7 +10,7 @@ const ChannelCard = () => { const { bearerQuery } = useGetBearerConfig(values?.format?.toLowerCase() || "json"); const outputData = bearerQuery?.data; return ( - + {values.format.toLowerCase() !== "ftp" ? ( <> -
+
@@ -64,7 +64,7 @@ const ChannelFields = ({ errors, touched, values, outputData, onSetFieldValue }: className={`p-1.5 border border-gray-400 rounded-lg w-full md:w-60`} />
-
+
@@ -76,7 +76,7 @@ const ChannelFields = ({ errors, touched, values, outputData, onSetFieldValue }: className={`p-1.5 border border-gray-400 rounded-lg w-full md:w-60`} />
-
+
-
+
-
+
-
+
Low
-
+
{values.format} Constants

-
+
-
+
Local
-
+

{values.format} Constants

-
+
-
+
-
+
Local
-
+

{values.format} Lane ID Config

-
+
-
+
{ // if (!field.value) return null; return ( -
+
); })} - - {values?.customFields && values?.customFields?.length > 0 && ( +
- )} + {values?.customFields && values?.customFields?.length > 0 && ( + + )} +
)} diff --git a/src/features/output/components/OSDFields.tsx b/src/features/output/components/OSDFields.tsx index c79a704..c4a3928 100644 --- a/src/features/output/components/OSDFields.tsx +++ b/src/features/output/components/OSDFields.tsx @@ -34,7 +34,7 @@ const OSDFields = ({ isOSDLoading }: OSDFieldsProps) => { ))}
-
+
{
-
+
{ return ( {({ values }) => ( -
-
+ +
{ autoComplete="off" />
-
+
{ ))}
-
+
{ ))}
- -
+
{ autoComplete="off" />
-
+
{ autoComplete="off" />
-
+
{ autoComplete="off" />
-
+
{ autoComplete="off" />
-
+
{ autoComplete="off" />
-
+
{ autoComplete="off" />
-
+
{ + const [isMenuOpen, setIsMenuOpen] = useState(false); + const toggleMenu = () => { + setIsMenuOpen(!isMenuOpen); + }; return ( -
-
- - Logo - +
+ {/* mobile menu */} + {isMenuOpen && ( +
+ + {/* */} + Dashboard + + + {/* */} + Cameras + + + Output + + + Settings + +
+ )} + ); }; diff --git a/src/ui/ModalComponent.tsx b/src/ui/ModalComponent.tsx index e14f622..3352678 100644 --- a/src/ui/ModalComponent.tsx +++ b/src/ui/ModalComponent.tsx @@ -23,6 +23,14 @@ const ModalComponent = ({ isModalOpen, children, close }: ModalComponentProps) = }, }} > +
+ +
{children} );