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, setDialogOpen } = useDevice(); 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()); + }); return ( <>
+
+ setSearchTerm(e.target.value)} + className="w-full p-2 border border-gray-300 rounded bg-white text-black" + /> +