Add button to Message page to send a traceroute to a node.

As noted in meshtastic/web#179, it would be great to be able to
send traceroutes from the web application.

This patch adds a button to the messages page that sends a
traceroute to the selected node.
This commit is contained in:
Tom Fifield
2024-05-26 15:37:17 +08:00
parent 5fdd07ee68
commit 6e145421ef
+14 -2
View File
@@ -7,11 +7,11 @@ import { useDevice } from "@core/stores/deviceStore.js";
import { Hashicon } from "@emeraldpay/hashicon-react";
import { Protobuf, Types } from "@meshtastic/js";
import { getChannelName } from "@pages/Channels.js";
import { HashIcon } from "lucide-react";
import { HashIcon, WaypointsIcon } from "lucide-react";
import { useState } from "react";
export const MessagesPage = (): JSX.Element => {
const { channels, nodes, hardware, messages } = useDevice();
const { channels, nodes, hardware, messages, connection } = useDevice();
const [chatType, setChatType] =
useState<Types.PacketDestination>("broadcast");
const [activeChat, setActiveChat] = useState<number>(
@@ -72,6 +72,18 @@ export const MessagesPage = (): JSX.Element => {
? nodes.get(activeChat)?.user?.longName ?? "Unknown"
: "Loading..."
}`}
actions={[
{
icon: WaypointsIcon,
async onClick() {
await connection?.traceRoute(nodes.get(activeChat)?.num).then(() =>
toast({
title: `Traceroute sent.`,
}),
);
},
},
]}
>
{allChannels.map(
(channel) =>