From 929f87b4111713162b4365297403ffbbf1ad7c16 Mon Sep 17 00:00:00 2001 From: James Thomas Date: Thu, 27 Mar 2025 17:21:40 -0400 Subject: [PATCH] Adding DM from Map function --- .../PageComponents/Map/NodeDetail.tsx | 67 +++++++++++++++---- 1 file changed, 55 insertions(+), 12 deletions(-) diff --git a/src/components/PageComponents/Map/NodeDetail.tsx b/src/components/PageComponents/Map/NodeDetail.tsx index 71dbad96..66b41c49 100644 --- a/src/components/PageComponents/Map/NodeDetail.tsx +++ b/src/components/PageComponents/Map/NodeDetail.tsx @@ -16,31 +16,51 @@ import { Dot, LockIcon, LockOpenIcon, + MessageSquareIcon, MountainSnow, Star, } from "lucide-react"; +import { + Tooltip, + TooltipContent, + TooltipPortal, + TooltipProvider, + TooltipTrigger, +} from "@radix-ui/react-tooltip"; +import { useAppStore } from "@core/stores/appStore.ts"; +import { useDevice } from "@core/stores/deviceStore.ts"; export interface NodeDetailProps { node: ProtobufType.Mesh.NodeInfo; } export const NodeDetail = ({ node }: NodeDetailProps) => { + const { setChatType, setActiveChat } = useAppStore(); + const { setActivePage } = useDevice(); const name = node.user?.longName || `!${numberToHexUnpadded(node.num)}`; + const shortName = node.user?.shortName ?? "UNK"; const hwModel = node.user?.hwModel ?? 0; const hardwareType = Protobuf.Mesh.HardwareModel[hwModel]?.replaceAll("_", " ") ?? `${hwModel}`; + function handleDirectMessage() { + setChatType("direct"); + setActiveChat(node.num); + setActivePage("messages"); + } + return (
- + + +
-
{node.user?.publicKey && node.user?.publicKey.length > 0 ? ( { ) : ( )} -
- + + + + + + + + Direct Message {shortName} + + + + + + +
@@ -70,7 +113,7 @@ export const NodeDetail = ({ node }: NodeDetailProps) => { {!!node.deviceMetrics?.batteryLevel && (
@@ -88,7 +131,7 @@ export const NodeDetail = ({ node }: NodeDetailProps) => {
)} - +
{node.user?.shortName &&
"{node.user?.shortName}"
} {node.user?.id &&
{node.user?.id}
}