Add snr to traceroute

This commit is contained in:
Tilen Komel
2025-01-24 12:15:57 +01:00
parent 965e3247b0
commit 54c73a8c0d
2 changed files with 41 additions and 15 deletions
@@ -7,6 +7,8 @@ export interface TraceRouteProps {
to?: Protobuf.Mesh.NodeInfo;
route: Array<number>;
routeBack?: Array<number>;
snrTowards?: Array<number>;
snrBack?: Array<number>;
}
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 = ({
</span>
</div>
) : (
<div className="ml-5 flex flex-col">
<div className="ml-5 flex">
<span className="ml-4 border-l-2 border-l-backgroundPrimary pl-2 text-textPrimary">
<p className="font-semibold">Route traced towards destination:</p>
{to?.user?.longName} ↔{" "}
{route.map(
(hop) =>
`${nodes.get(hop)?.user?.longName ?? `!${numberToHexUnpadded(hop)}`} ↔ `,
)}
<p className="font-semibold">Route to destination:</p>
<p>{to?.user?.longName}</p>
<p>↓ {snrTowards ? snrTowards[0] : null}dB</p>
{route.map((hop, i) => (
// biome-ignore lint/suspicious/noArrayIndexKey: <explanation>
<span key={i}>
<p>
{nodes.get(hop)?.user?.longName ?? `!${numberToHexUnpadded(hop)}`}
</p>
<p>↓ {snrTowards ? snrTowards[i + 1] : null}dB</p>
</span>
))}
{from?.user?.longName}
</span>
{routeBack ? (
<span className="ml-4 mt-4 border-l-2 border-l-backgroundPrimary pl-2 text-textPrimary">
<p className="font-semibold">Route traced back to us:</p>
{from?.user?.longName} ↔{" "}
{routeBack.map(
(hop) =>
`${nodes.get(hop)?.user?.longName ?? `!${numberToHexUnpadded(hop)}`} ↔ `,
)}
<span className="ml-4 border-l-2 border-l-backgroundPrimary pl-2 text-textPrimary">
<p className="font-semibold">Route back:</p>
<p>{from?.user?.longName}</p>
<p>↓ {snrBack ? snrBack[0] : null}dB</p>
{routeBack.map((hop, i) => (
// biome-ignore lint/suspicious/noArrayIndexKey: <explanation>
<span key={i}>
<p>
{nodes.get(hop)?.user?.longName ??
`!${numberToHexUnpadded(hop)}`}
</p>
<p>↓ {snrBack ? snrBack[i + 1] : null}dB</p>
</span>
))}
{to?.user?.longName}
</span>
) : null}