import type React from "react";
import {
CircleIcon,
FullCircleIcon,
majorScale,
Pane,
Small,
Strong,
Text,
} from "evergreen-ui";
import { useDevice } from "@core/providers/useDevice.js";
import { Hashicon } from "@emeraldpay/hashicon-react";
import type { Protobuf, Types } from "@meshtastic/meshtasticjs";
import { LocationMessage } from "./LocationMessage.js";
export interface MessageProps {
lastMsgSameUser: boolean;
messagePacket: Types.MessagePacket;
ack: boolean;
rxTime: Date;
sender?: Protobuf.NodeInfo;
}
export const Message = ({
lastMsgSameUser,
messagePacket,
ack,
rxTime,
sender,
}: MessageProps): JSX.Element => {
const { setPeerInfoOpen, setActivePeer } = useDevice();
const openPeer = (): void => {
setActivePeer(messagePacket.packet.from);
setPeerInfoOpen(true);
};
return lastMsgSameUser ? (
{ack ? (
) : (
)}
{messagePacket.location ? (
) : (
{messagePacket.text}
)}
) : (
{sender?.user?.longName ?? "UNK"}
{rxTime.toLocaleTimeString(undefined, {
hour: "2-digit",
minute: "2-digit",
})}
{ack ? (
) : (
)}
{messagePacket.location ? (
) : (
{messagePacket.text}
)}
);
};