From 70d0d3234dc400a49878e7eb563c1c714e06b8b6 Mon Sep 17 00:00:00 2001 From: Bradley Relyea Date: Tue, 9 Sep 2025 15:57:35 +0100 Subject: [PATCH] More messing about, and learning how it all works. Added time to header. Changed some padding. Changed video to preview not target detection. Added TODO list. --- TODO.txt | 18 +++ public/homepage-banner.jpg | Bin 0 -> 118794 bytes .../FrontCameraOverviewCard.tsx | 2 +- .../RearCameraOverviewCard.tsx | 2 +- .../SightingOverview/SightingOverview.tsx | 2 +- .../SightingsWidget/SightingWidgetDetails.tsx | 52 ++++----- src/components/UI/Card.tsx | 2 +- src/components/UI/Header.tsx | 73 ++++++++++-- src/components/UI/NavigationArrow.tsx | 2 +- src/hooks/useGetOverviewSnapshot.ts | 2 +- src/hooks/useSightingFeed.ts | 105 +++++++----------- src/pages/FrontCamera.tsx | 2 +- src/pages/RearCamera.tsx | 2 +- src/types/types.ts | 12 ++ 14 files changed, 163 insertions(+), 113 deletions(-) create mode 100644 TODO.txt create mode 100644 public/homepage-banner.jpg diff --git a/TODO.txt b/TODO.txt new file mode 100644 index 0000000..e2ff0e0 --- /dev/null +++ b/TODO.txt @@ -0,0 +1,18 @@ +TODO: + +Hotlist upload (Question for Dion about API) and hits popping up in sighting stack. +NPED API working and catagories popping up in sighting stack. Images added to public folder. +Make the friendly name of each camera permeate throughout. +Make favicon MAV logo. +Swipe down to get to session page. +I have made an error I don't know how to fix in SightingFeedProvider.tsx +There is a bug in /front-camera-settings where the navigation arrow doesn't have a transparent background. I don't know why it is only that one and I can't find out why. Very strange. +The selected sighting in the sighting stack seems a tad buggy. Sometimes multiple get selected. +Can the selected sighting be shown in full detail. How this will look is still up for debate. Either as a pop up card as in AiQ Flexi, or in the OVerview card?? +How do you know if the time has sync? Make UTC red if not sync. +Can the relative aspect ratio in SightingOverview.tsx be the ratio of image pixel size of the image to best take advantage of the space? + + +FYI: + +Session, WiFi and Modem stuff isn't implimented in the backend. Those are just placeholders for now. diff --git a/public/homepage-banner.jpg b/public/homepage-banner.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e0440acf6ba852a3872c444ce5be2b291c36da2b GIT binary patch literal 118794 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�}OSpmxwKHPh=HUb6D)4qOlG?24-WMvqdQ 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 P{tfy>O9%0J{hs)5pJ7O4 literal 0 HcmV?d00001 diff --git a/src/components/FrontCameraOverview/FrontCameraOverviewCard.tsx b/src/components/FrontCameraOverview/FrontCameraOverviewCard.tsx index 8c543ed..6862fd2 100644 --- a/src/components/FrontCameraOverview/FrontCameraOverviewCard.tsx +++ b/src/components/FrontCameraOverview/FrontCameraOverviewCard.tsx @@ -26,7 +26,7 @@ const FrontCameraOverviewCard = ({ className }: CardProps) => { )} >
- + {/* */}
diff --git a/src/components/RearCameraOverview/RearCameraOverviewCard.tsx b/src/components/RearCameraOverview/RearCameraOverviewCard.tsx index 3b82fe3..1e9f467 100644 --- a/src/components/RearCameraOverview/RearCameraOverviewCard.tsx +++ b/src/components/RearCameraOverview/RearCameraOverviewCard.tsx @@ -25,7 +25,7 @@ const RearCameraOverviewCard = ({ className }: CardProps) => { )} >
- + {/* */}
diff --git a/src/components/SightingOverview/SightingOverview.tsx b/src/components/SightingOverview/SightingOverview.tsx index 7092e08..47aad61 100644 --- a/src/components/SightingOverview/SightingOverview.tsx +++ b/src/components/SightingOverview/SightingOverview.tsx @@ -35,7 +35,7 @@ const SightingOverview = () => {
-
+
{ diff --git a/src/components/SightingsWidget/SightingWidgetDetails.tsx b/src/components/SightingsWidget/SightingWidgetDetails.tsx index b91385a..2bde728 100644 --- a/src/components/SightingsWidget/SightingWidgetDetails.tsx +++ b/src/components/SightingsWidget/SightingWidgetDetails.tsx @@ -9,6 +9,14 @@ const SightingWidgetDetails = ({ }: SightingWidgetDetailsProps) => { return (
+
+ VRM:{" "} + {effectiveSelected?.vrm ?? "—"} +
+
+ Timestamp:{" "} + {effectiveSelected?.timeStamp ?? "—"} +
Make:{" "} {effectiveSelected?.make ?? "—"} @@ -17,6 +25,16 @@ const SightingWidgetDetails = ({ Model:{" "} {effectiveSelected?.model ?? "—"}
+
+ Country:{" "} + {effectiveSelected?.countryCode ?? "—"} +
+
+ Seen:{" "} + + {effectiveSelected?.seenCount ?? "—"} + +
Colour:{" "} {effectiveSelected?.color ?? "—"} @@ -43,40 +61,8 @@ const SightingWidgetDetails = ({ {effectiveSelected?.overviewSize ?? "—"}
-
- Motion:{" "} - {effectiveSelected?.motion ?? "—"} -
-
- Seen:{" "} - - {effectiveSelected?.seenCount ?? "—"} - -
-
- Location:{" "} - - {effectiveSelected?.locationName ?? "—"} - -
-
- Lane:{" "} - {effectiveSelected?.laneID ?? "—"} -
-
- Radar:{" "} - - {effectiveSelected?.radarSpeed ?? "—"} - -
-
- Track:{" "} - - {effectiveSelected?.trackSpeed ?? "—"} - -
{effectiveSelected?.detailsUrl ? ( -
+
{ return (
diff --git a/src/components/UI/Header.tsx b/src/components/UI/Header.tsx index d0445b8..4d71685 100644 --- a/src/components/UI/Header.tsx +++ b/src/components/UI/Header.tsx @@ -1,10 +1,60 @@ +import * as React from "react"; import { Link } from "react-router"; import Logo from "/MAV.svg"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; -import { faGear } from "@fortawesome/free-solid-svg-icons"; -import { faListCheck } from "@fortawesome/free-solid-svg-icons"; +import { faGear, faListCheck } from "@fortawesome/free-solid-svg-icons"; +import type { VersionFieldType } from "../../types/types"; + +async function fetchVersions(signal?: AbortSignal): Promise { + const res = await fetch("http://192.168.75.11/api/versions", { signal }); + if (!res.ok) throw new Error(`HTTP ${res.status}`); + return res.json(); +} + +const pad = (n: number) => String(n).padStart(2, "0"); +const normalizeToMs = (ts: number) => (ts < 1e12 ? ts * 1000 : ts); // seconds → ms if needed + +function formatFromMs(ms: number, tz: "local" | "utc" = "local") { + const d = new Date(ms); + const h = tz === "utc" ? d.getUTCHours() : d.getHours(); + const m = tz === "utc" ? d.getUTCMinutes() : d.getMinutes(); + const s = tz === "utc" ? d.getUTCSeconds() : d.getSeconds(); + const day = tz === "utc" ? d.getUTCDate() : d.getDate(); + const month = (tz === "utc" ? d.getUTCMonth() : d.getMonth()) + 1; + const year = tz === "utc" ? d.getUTCFullYear() : d.getFullYear(); + return `${pad(h)}:${pad(m)}:${pad(s)} ${pad(day)}-${pad(month)}-${year}`; +} + +export default function Header() { + const [offsetMs, setOffsetMs] = React.useState(null); + const [nowMs, setNowMs] = React.useState(Date.now()); + + React.useEffect(() => { + const ac = new AbortController(); + fetchVersions(ac.signal) + .then((data) => { + const serverMs = normalizeToMs(data.timeStamp); + setOffsetMs(serverMs - Date.now()); + }) + return () => ac.abort(); + }, []); + + React.useEffect(() => { + let timer: number; + const schedule = () => { + const now = Date.now(); + setNowMs(now); + const delay = 1000 - (now % 1000); + timer = window.setTimeout(schedule, delay); + }; + schedule(); + return () => clearTimeout(timer); + }, []); + + const serverNowMs = offsetMs == null ? nowMs : nowMs + offsetMs; + const localStr = formatFromMs(serverNowMs, "local"); + const utcStr = formatFromMs(serverNowMs, "utc"); -const Header = () => { return (
{/* Left: Logo */} @@ -13,17 +63,20 @@ const Header = () => { Logo
-
+ {/* Right: Texts stacked + icons */} +
+
+

Local: {localStr}

+

UTC: {utcStr}

+
+ - + - +
); -}; - - -export default Header; +} diff --git a/src/components/UI/NavigationArrow.tsx b/src/components/UI/NavigationArrow.tsx index 7a15c62..ebdc43e 100644 --- a/src/components/UI/NavigationArrow.tsx +++ b/src/components/UI/NavigationArrow.tsx @@ -26,7 +26,7 @@ const NavigationArrow = ({ side, settingsPage }: NavigationArrowProps) => { if (settingsPage) { return ( <> - {side === "TargetDetectionFront" ? ( + {side === "CameraFront" ? ( fetchSnapshot(cameraSide), refetchOnWindowFocus: false, - // refetchInterval: 1000, + refetchInterval: 250, }); useEffect(() => { diff --git a/src/hooks/useSightingFeed.ts b/src/hooks/useSightingFeed.ts index cc3632c..d117335 100644 --- a/src/hooks/useSightingFeed.ts +++ b/src/hooks/useSightingFeed.ts @@ -1,89 +1,70 @@ -import { useEffect, useMemo, useRef, useState } from "react"; +import { useEffect, useRef, useState } from "react"; import type { SightingWidgetType } from "../types/types"; -import { useQuery } from "@tanstack/react-query"; -// const url = `http://100.82.205.44/SightingListFront/sightingSummary?mostRecentRef=-1`; - -async function fetchSighting(url: string, ref: number, signal?: AbortSignal) { - const dynamicUrl = `${url}${ref}`; - - const res = await fetch(dynamicUrl, { signal }); +async function fetchSighting(url: string, ref: number): Promise { + const res = await fetch(`${url}${ref}`); if (!res.ok) throw new Error(String(res.status)); - return (await res.json()) as SightingWidgetType; + return await res.json(); } export function useSightingFeed(url: string) { - const [sightings, setSightings] = useState( - () => Array(7).fill(null) as unknown as SightingWidgetType[] - ); - const [noSighting, setNoSighting] = useState(false); + const [sightings, setSightings] = useState([]); const [selectedRef, setSelectedRef] = useState(null); const [mostRecent, setMostRecent] = useState(null); - const mostRecentRef = useRef(-1); - - const lastSeenRef = useRef(null); - - const { data, isPending } = useQuery({ - queryKey: ["sighting"], - queryFn: ({ signal }) => fetchSighting(url, mostRecentRef.current, signal), - refetchInterval: 2000, - refetchIntervalInBackground: true, - refetchOnWindowFocus: false, - staleTime: 0, - notifyOnChangeProps: ["data"], - }); + const currentRef = useRef(-1); + const pollingTimeout = useRef | null>(null); + const lastValidTimestamp = useRef(Date.now()); useEffect(() => { - if (!data) return; + const poll = async () => { + try { + const data = await fetchSighting(url, currentRef.current); - if (data.ref === -1) { - setNoSighting(true); - } else { - setNoSighting(false); - } - if (data.ref === lastSeenRef.current) return; // duplicate payload → do nothing - lastSeenRef.current = data.ref; + const now = Date.now(); - setMostRecent(data); + if (data.ref === -1) { + if (now - lastValidTimestamp.current > 60000) { + console.warn("No valid sighting in over a minute. Restarting..."); + currentRef.current = -1; + lastValidTimestamp.current = now; + } - setSightings((prev) => { - const existing = prev.find((p) => p?.ref === data.ref); - const next = existing - ? prev - : [data, ...prev.filter(Boolean)].slice(0, 7); + pollingTimeout.current = setTimeout(poll, 400); + } else { + currentRef.current = data.ref; + lastValidTimestamp.current = now; - const stillHasSelection = - selectedRef != null && next.some((s) => s?.ref === selectedRef); - if (!stillHasSelection) { - setSelectedRef(data.ref); + setSightings(prev => { + const updated = [data, ...prev].slice(0, 7); + return updated; + }); + + setMostRecent(data); + setSelectedRef(data.ref); + + pollingTimeout.current = setTimeout(poll, 100); + } + } catch (err) { + console.error("Polling error:", err); + pollingTimeout.current = setTimeout(poll, 100); } + }; - return next; - }); - // setMostRecent(sightings[0]); - // setMostRecent(data); - mostRecentRef.current = data.ref ?? -1; - }, [data, selectedRef, sightings]); + poll(); - const selected = useMemo( - () => - selectedRef == null - ? null - : sightings.find((s) => s?.ref === selectedRef) ?? null, - [sightings, selectedRef] - ); + return () => { + if (pollingTimeout.current) clearTimeout(pollingTimeout.current); + }; + }, [url]); - const effectiveSelected = selected ?? mostRecent ?? null; + const selected = sightings.find(s => s?.ref === selectedRef) ?? mostRecent; return { sightings, selectedRef, setSelectedRef, mostRecent, - effectiveSelected, - mostRecentRef, - isPending, - noSighting, + effectiveSelected: selected, }; } diff --git a/src/pages/FrontCamera.tsx b/src/pages/FrontCamera.tsx index 774904c..054c335 100644 --- a/src/pages/FrontCamera.tsx +++ b/src/pages/FrontCamera.tsx @@ -18,7 +18,7 @@ const FrontCamera = () => { > diff --git a/src/pages/RearCamera.tsx b/src/pages/RearCamera.tsx index 34b3c99..40e368b 100644 --- a/src/pages/RearCamera.tsx +++ b/src/pages/RearCamera.tsx @@ -18,7 +18,7 @@ const RearCamera = () => {
diff --git a/src/types/types.ts b/src/types/types.ts index 6f2e18c..3eb823a 100644 --- a/src/types/types.ts +++ b/src/types/types.ts @@ -102,6 +102,18 @@ export type SightingWidgetType = { // list of rects normalized 0..1 }; +export type VersionFieldType = { + version: string; + revision: string; + buildtime: string; + MAC: string; + timeStamp: number; + UUID: string; + "Serial No.": string; + "Model No.": string; +}; + + export type Metadata = { npedJSON: NpedJSON; "hotlist-matches": HotlistMatches;