import * as React from "bloatless-react"; import { MessageReactionButtonRow } from "./messageReactionButtonRow"; import { InlineReply } from "./inlineReply"; import { ChatMessageInfoModal } from "../Modals/chatMessageInfoModal"; import CoreViewModel from "../../ViewModel/Global/coreViewModel"; import ChatMessageViewModel from "../../ViewModel/Chat/chatMessageViewModel"; import { ChatMessageStatuses } from "../../Model/Chat/chatModel"; export function ChatMessage( coreViewModel: CoreViewModel, chatMessageViewModel: ChatMessageViewModel, ) { const statusIcon = React.createProxyState( [chatMessageViewModel.status], () => { switch (chatMessageViewModel.status.value) { case ChatMessageStatuses.Outbox: return "hourglass_top"; case ChatMessageStatuses.Sent: return "check"; case ChatMessageStatuses.Received: return "done_all"; default: return "warning"; } }, ); return (
{InlineReply(chatMessageViewModel)}
{chatMessageViewModel.sender} {chatMessageViewModel.dateSent}
{MessageReactionButtonRow(coreViewModel, chatMessageViewModel)} {ChatMessageInfoModal(coreViewModel, chatMessageViewModel)}
); }