Browse Source

Merge pull request #560 from danditomaso/fix/node-detail-use-message-store

fix: update node details page to use message store
pull/561/head
Dan Ditomaso 1 year ago
committed by GitHub
parent
commit
52e0924f1c
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 11
      src/components/PageComponents/Map/NodeDetail.tsx
  2. 3
      src/pages/Messages.tsx

11
src/components/PageComponents/Map/NodeDetail.tsx

@ -27,15 +27,15 @@ import {
TooltipProvider,
TooltipTrigger,
} from "@radix-ui/react-tooltip";
import { useAppStore } from "@core/stores/appStore.ts";
import { useDevice } from "@core/stores/deviceStore.ts";
import { MessageType, useMessageStore } from "@core/stores/messageStore.ts";
export interface NodeDetailProps {
node: ProtobufType.Mesh.NodeInfo;
}
export const NodeDetail = ({ node }: NodeDetailProps) => {
const { setChatType, setActiveChat } = useAppStore();
const { setChatType, setActiveChat } = useMessageStore();
const { setActivePage } = useDevice();
const name = node.user?.longName || `!${numberToHexUnpadded(node.num)}`;
const shortName = node.user?.shortName ?? "UNK";
@ -44,7 +44,7 @@ export const NodeDetail = ({ node }: NodeDetailProps) => {
Protobuf.Mesh.HardwareModel[hwModel]?.replaceAll("_", " ") ?? `${hwModel}`;
function handleDirectMessage() {
setChatType("direct");
setChatType(MessageType.Direct);
setActiveChat(node.num);
setActivePage("messages");
}
@ -54,7 +54,7 @@ export const NodeDetail = ({ node }: NodeDetailProps) => {
<div className="flex gap-2">
<div className="flex flex-col items-center gap-2 min-w-6 pt-1">
<Avatar text={shortName} />
<div onFocusCapture={(e) => {
// Required to prevent DM tooltip auto-appearing on creation
e.stopPropagation();
@ -80,11 +80,10 @@ export const NodeDetail = ({ node }: NodeDetailProps) => {
<TooltipProvider>
<Tooltip>
<TooltipTrigger>
<MessageSquareIcon
<MessageSquareIcon
size={14}
onClick={handleDirectMessage}
className="cursor-pointer hover:text-blue-500"
title="Send Message"
/>
</TooltipTrigger>
<TooltipPortal>

3
src/pages/Messages.tsx

@ -77,7 +77,7 @@ export const MessagesPage = () => {
key={otherNode.num}
label={otherNode.user?.longName ??
`!${numberToHexUnpadded(otherNode.num)}`}
active={activeChat === otherNode.num && chatType === "direct"}
active={activeChat === otherNode.num && chatType === MessageType.Direct}
onClick={() => {
setChatType(MessageType.Direct);
setActiveChat(otherNode.num);
@ -153,7 +153,6 @@ export const MessagesPage = () => {
<div className="shrink-0 p-4 w-full dark:bg-slate-900">
<MessageInput
from={activeChat}
to={currentChat.type === MessageType.Direct ? activeChat : MessageType.Broadcast}
channel={currentChat.type === MessageType.Direct ? Types.ChannelNumber.Primary : currentChat.id}
maxBytes={200}

Loading…
Cancel
Save