Add snr to traceroute
This commit is contained in:
@@ -24,6 +24,8 @@ export const TracerouteResponseDialog = ({
|
|||||||
const { nodes } = useDevice();
|
const { nodes } = useDevice();
|
||||||
const route: number[] = traceroute?.data.route ?? [];
|
const route: number[] = traceroute?.data.route ?? [];
|
||||||
const routeBack: number[] = traceroute?.data.routeBack ?? [];
|
const routeBack: number[] = traceroute?.data.routeBack ?? [];
|
||||||
|
const snrTowards = traceroute?.data.snrTowards ?? [];
|
||||||
|
const snrBack = traceroute?.data.snrBack ?? [];
|
||||||
const from = nodes.get(traceroute?.from ?? 0);
|
const from = nodes.get(traceroute?.from ?? 0);
|
||||||
const longName =
|
const longName =
|
||||||
from?.user?.longName ??
|
from?.user?.longName ??
|
||||||
@@ -39,7 +41,14 @@ export const TracerouteResponseDialog = ({
|
|||||||
<DialogTitle>{`Traceroute: ${longName} (${shortName})`}</DialogTitle>
|
<DialogTitle>{`Traceroute: ${longName} (${shortName})`}</DialogTitle>
|
||||||
</DialogHeader>
|
</DialogHeader>
|
||||||
<DialogDescription>
|
<DialogDescription>
|
||||||
<TraceRoute route={route} routeBack={routeBack} from={from} to={to} />
|
<TraceRoute
|
||||||
|
route={route}
|
||||||
|
routeBack={routeBack}
|
||||||
|
from={from}
|
||||||
|
to={to}
|
||||||
|
snrTowards={snrTowards}
|
||||||
|
snrBack={snrBack}
|
||||||
|
/>
|
||||||
</DialogDescription>
|
</DialogDescription>
|
||||||
</DialogContent>
|
</DialogContent>
|
||||||
</Dialog>
|
</Dialog>
|
||||||
|
|||||||
@@ -7,6 +7,8 @@ export interface TraceRouteProps {
|
|||||||
to?: Protobuf.Mesh.NodeInfo;
|
to?: Protobuf.Mesh.NodeInfo;
|
||||||
route: Array<number>;
|
route: Array<number>;
|
||||||
routeBack?: Array<number>;
|
routeBack?: Array<number>;
|
||||||
|
snrTowards?: Array<number>;
|
||||||
|
snrBack?: Array<number>;
|
||||||
}
|
}
|
||||||
|
|
||||||
export const TraceRoute = ({
|
export const TraceRoute = ({
|
||||||
@@ -14,6 +16,8 @@ export const TraceRoute = ({
|
|||||||
to,
|
to,
|
||||||
route,
|
route,
|
||||||
routeBack,
|
routeBack,
|
||||||
|
snrTowards,
|
||||||
|
snrBack,
|
||||||
}: TraceRouteProps): JSX.Element => {
|
}: TraceRouteProps): JSX.Element => {
|
||||||
const { nodes } = useDevice();
|
const { nodes } = useDevice();
|
||||||
|
|
||||||
@@ -24,24 +28,37 @@ export const TraceRoute = ({
|
|||||||
</span>
|
</span>
|
||||||
</div>
|
</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">
|
<span className="ml-4 border-l-2 border-l-backgroundPrimary pl-2 text-textPrimary">
|
||||||
<p className="font-semibold">Route traced towards destination:</p>
|
<p className="font-semibold">Route to destination:</p>
|
||||||
{to?.user?.longName} ↔{" "}
|
<p>{to?.user?.longName}</p>
|
||||||
{route.map(
|
<p>↓ {snrTowards ? snrTowards[0] : null}dB</p>
|
||||||
(hop) =>
|
{route.map((hop, i) => (
|
||||||
`${nodes.get(hop)?.user?.longName ?? `!${numberToHexUnpadded(hop)}`} ↔ `,
|
// 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}
|
{from?.user?.longName}
|
||||||
</span>
|
</span>
|
||||||
{routeBack ? (
|
{routeBack ? (
|
||||||
<span className="ml-4 mt-4 border-l-2 border-l-backgroundPrimary pl-2 text-textPrimary">
|
<span className="ml-4 border-l-2 border-l-backgroundPrimary pl-2 text-textPrimary">
|
||||||
<p className="font-semibold">Route traced back to us:</p>
|
<p className="font-semibold">Route back:</p>
|
||||||
{from?.user?.longName} ↔{" "}
|
<p>{from?.user?.longName}</p>
|
||||||
{routeBack.map(
|
<p>↓ {snrBack ? snrBack[0] : null}dB</p>
|
||||||
(hop) =>
|
{routeBack.map((hop, i) => (
|
||||||
`${nodes.get(hop)?.user?.longName ?? `!${numberToHexUnpadded(hop)}`} ↔ `,
|
// 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}
|
{to?.user?.longName}
|
||||||
</span>
|
</span>
|
||||||
) : null}
|
) : null}
|
||||||
|
|||||||
Reference in New Issue
Block a user