import { useDevice } from "@core/stores/deviceStore.ts"; import type { Protobuf } from "@meshtastic/core"; import { numberToHexUnpadded } from "@noble/curves/abstract/utils"; export interface TraceRouteProps { from?: Protobuf.Mesh.NodeInfo; to?: Protobuf.Mesh.NodeInfo; route: Array; routeBack?: Array; snrTowards?: Array; snrBack?: Array; } interface RoutePathProps { title: string; startNode?: Protobuf.Mesh.NodeInfo; endNode?: Protobuf.Mesh.NodeInfo; path: number[]; snr?: number[]; } const RoutePath = ({ title, startNode, endNode, path, snr }: RoutePathProps) => { const { nodes } = useDevice(); return (

{title}

{startNode?.user?.longName}

↓ {snr?.[0] ?? "??"}dB

{path.map((hop, i) => (

{nodes.get(hop)?.user?.longName ?? `!${numberToHexUnpadded(hop)}`}

↓ {snr?.[i + 1] ?? "??"}dB

))}

{endNode?.user?.longName}

); }; export const TraceRoute = ({ from, to, route, routeBack, snrTowards, snrBack, }: TraceRouteProps) => { return (
{routeBack && ( )}
); };