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:
+14
-2
@@ -7,11 +7,11 @@ import { useDevice } from "@core/stores/deviceStore.js";
|
|||||||
import { Hashicon } from "@emeraldpay/hashicon-react";
|
import { Hashicon } from "@emeraldpay/hashicon-react";
|
||||||
import { Protobuf, Types } from "@meshtastic/js";
|
import { Protobuf, Types } from "@meshtastic/js";
|
||||||
import { getChannelName } from "@pages/Channels.js";
|
import { getChannelName } from "@pages/Channels.js";
|
||||||
import { HashIcon } from "lucide-react";
|
import { HashIcon, WaypointsIcon } from "lucide-react";
|
||||||
import { useState } from "react";
|
import { useState } from "react";
|
||||||
|
|
||||||
export const MessagesPage = (): JSX.Element => {
|
export const MessagesPage = (): JSX.Element => {
|
||||||
const { channels, nodes, hardware, messages } = useDevice();
|
const { channels, nodes, hardware, messages, connection } = useDevice();
|
||||||
const [chatType, setChatType] =
|
const [chatType, setChatType] =
|
||||||
useState<Types.PacketDestination>("broadcast");
|
useState<Types.PacketDestination>("broadcast");
|
||||||
const [activeChat, setActiveChat] = useState<number>(
|
const [activeChat, setActiveChat] = useState<number>(
|
||||||
@@ -72,6 +72,18 @@ export const MessagesPage = (): JSX.Element => {
|
|||||||
? nodes.get(activeChat)?.user?.longName ?? "Unknown"
|
? nodes.get(activeChat)?.user?.longName ?? "Unknown"
|
||||||
: "Loading..."
|
: "Loading..."
|
||||||
}`}
|
}`}
|
||||||
|
actions={[
|
||||||
|
{
|
||||||
|
icon: WaypointsIcon,
|
||||||
|
async onClick() {
|
||||||
|
await connection?.traceRoute(nodes.get(activeChat)?.num).then(() =>
|
||||||
|
toast({
|
||||||
|
title: `Traceroute sent.`,
|
||||||
|
}),
|
||||||
|
);
|
||||||
|
},
|
||||||
|
},
|
||||||
|
]}
|
||||||
>
|
>
|
||||||
{allChannels.map(
|
{allChannels.map(
|
||||||
(channel) =>
|
(channel) =>
|
||||||
|
|||||||
Reference in New Issue
Block a user