diff --git a/src/components/Dialog/TracerouteResponseDialog.tsx b/src/components/Dialog/TracerouteResponseDialog.tsx index 0b081d55..e26cafc2 100644 --- a/src/components/Dialog/TracerouteResponseDialog.tsx +++ b/src/components/Dialog/TracerouteResponseDialog.tsx @@ -24,6 +24,8 @@ export const TracerouteResponseDialog = ({ const { nodes } = useDevice(); const route: number[] = traceroute?.data.route ?? []; const routeBack: number[] = traceroute?.data.routeBack ?? []; + const snrTowards = traceroute?.data.snrTowards ?? []; + const snrBack = traceroute?.data.snrBack ?? []; const from = nodes.get(traceroute?.from ?? 0); const longName = from?.user?.longName ?? @@ -39,7 +41,14 @@ export const TracerouteResponseDialog = ({ {`Traceroute: ${longName} (${shortName})`} - + diff --git a/src/components/PageComponents/Messages/TraceRoute.tsx b/src/components/PageComponents/Messages/TraceRoute.tsx index a8fa04dc..c2dc1f5b 100644 --- a/src/components/PageComponents/Messages/TraceRoute.tsx +++ b/src/components/PageComponents/Messages/TraceRoute.tsx @@ -7,6 +7,8 @@ export interface TraceRouteProps { to?: Protobuf.Mesh.NodeInfo; route: Array; routeBack?: Array; + snrTowards?: Array; + snrBack?: Array; } export const TraceRoute = ({ @@ -14,6 +16,8 @@ export const TraceRoute = ({ to, route, routeBack, + snrTowards, + snrBack, }: TraceRouteProps): JSX.Element => { const { nodes } = useDevice(); @@ -24,24 +28,37 @@ export const TraceRoute = ({ ) : ( -
+
-

Route traced towards destination:

- {to?.user?.longName} ↔{" "} - {route.map( - (hop) => - `${nodes.get(hop)?.user?.longName ?? `!${numberToHexUnpadded(hop)}`} ↔ `, - )} +

Route to destination:

+

{to?.user?.longName}

+

↓ {snrTowards ? snrTowards[0] : null}dB

+ {route.map((hop, i) => ( + // biome-ignore lint/suspicious/noArrayIndexKey: + +

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

+

↓ {snrTowards ? snrTowards[i + 1] : null}dB

+
+ ))} {from?.user?.longName}
{routeBack ? ( - -

Route traced back to us:

- {from?.user?.longName} ↔{" "} - {routeBack.map( - (hop) => - `${nodes.get(hop)?.user?.longName ?? `!${numberToHexUnpadded(hop)}`} ↔ `, - )} + +

Route back:

+

{from?.user?.longName}

+

↓ {snrBack ? snrBack[0] : null}dB

+ {routeBack.map((hop, i) => ( + // biome-ignore lint/suspicious/noArrayIndexKey: + +

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

+

↓ {snrBack ? snrBack[i + 1] : null}dB

+
+ ))} {to?.user?.longName}
) : null}