diff --git a/package.json b/package.json index ec62a1b4..6d285fb2 100644 --- a/package.json +++ b/package.json @@ -6,6 +6,7 @@ "license": "GPL-3.0-only", "scripts": { "build": "pnpm check && rsbuild build", + "build:analyze": "BUNDLE_ANALYZE=true rsbuild build", "check": "biome check src/", "check:fix": "pnpm check --write src/", "format": "biome format --write src/", diff --git a/src/components/PageComponents/Config/Device.tsx b/src/components/PageComponents/Config/Device.tsx index 9ef11904..17ee8cb2 100644 --- a/src/components/PageComponents/Config/Device.tsx +++ b/src/components/PageComponents/Config/Device.tsx @@ -46,7 +46,7 @@ export const Device = (): JSX.Element => { "Lost and Found": Protobuf.Config.Config_DeviceConfig_Role.LOST_AND_FOUND, "TAK Tracker": - Protobuf.Config.Config_DeviceConfig_Role.SENSOR, + Protobuf.Config.Config_DeviceConfig_Role.TAK_TRACKER, }, formatEnumName: true, }, diff --git a/src/components/PageLayout.tsx b/src/components/PageLayout.tsx index 79495bdc..1009ab54 100644 --- a/src/components/PageLayout.tsx +++ b/src/components/PageLayout.tsx @@ -35,7 +35,7 @@ export const PageLayout = ({
{actions?.map((action, index) => (
- + ); })} diff --git a/src/pages/Messages.tsx b/src/pages/Messages.tsx index ce866ed8..c06ce08f 100644 --- a/src/pages/Messages.tsx +++ b/src/pages/Messages.tsx @@ -20,9 +20,12 @@ const MessagesPage = () => { const [activeChat, setActiveChat] = useState( Types.ChannelNumber.Primary, ); - const filteredNodes = Array.from(nodes.values()).filter( - (n) => n.num !== hardware.myNodeNum, - ); + const [searchTerm, setSearchTerm] = useState(""); + const filteredNodes = Array.from(nodes.values()).filter((node) => { + if (node.num === hardware.myNodeNum) return false; + const nodeName = node.user?.longName ?? `!${numberToHexUnpadded(node.num)}`; + return nodeName.toLowerCase().includes(searchTerm.toLowerCase()); + }); const allChannels = Array.from(channels.values()); const filteredChannels = allChannels.filter( (ch) => ch.role !== Protobuf.Channel.Channel_Role.DISABLED, @@ -56,6 +59,15 @@ const MessagesPage = () => { ))} +
+ setSearchTerm(e.target.value)} + className="w-full p-2 border border-gray-300 rounded bg-white text-black" + /> +
{filteredNodes.map((node) => ( { - const { nodes, hardware, connection } = useDevice(); + const { nodes, hardware, setDialogOpen } = useDevice(); const [selectedNode, setSelectedNode] = useState< Protobuf.Mesh.NodeInfo | undefined >(undefined); const [selectedTraceroute, setSelectedTraceroute] = useState< Types.PacketMetadata | undefined >(); + const { setNodeNumToBeRemoved } = useAppStore(); + const [searchTerm, setSearchTerm] = useState(""); - const filteredNodes = Array.from(nodes.values()).filter( - (n) => n.num !== hardware.myNodeNum, - ); + const filteredNodes = Array.from(nodes.values()).filter((node) => { + if (node.num === hardware.myNodeNum) return false; + const nodeName = node.user?.longName ?? `!${numberToHexUnpadded(node.num)}`; + return nodeName.toLowerCase().includes(searchTerm.toLowerCase()); + }); useEffect(() => { connection?.events.onTraceRoutePacket.subscribe(handleTraceroute); @@ -48,6 +52,15 @@ const NodesPage = (): JSX.Element => { <>
+
+ setSearchTerm(e.target.value)} + className="w-full p-2 border border-gray-300 rounded bg-white text-black" + /> +