import * as React from "bloatless-react"; import { ChatMessageInfoModal } from "./chatMessageInfoModal"; import { ChatMessageStatus } from "../../Model/chatModel"; import ChatMessageViewModel from "../../Model/chatMessageViewModel"; import { translations } from "../translations"; export function ChatMessage(chatMessageViewModel: ChatMessageViewModel) { const isInfoModalOpen = new React.State(false); function openModal() { isInfoModalOpen.value = true; } const statusIcon = React.createProxyState( [chatMessageViewModel.status], () => { switch (chatMessageViewModel.status.value) { case ChatMessageStatus.Outbox: return "hourglass_top"; case ChatMessageStatus.Sent: return "check"; case ChatMessageStatus.Received: return "done_all"; default: return "warning"; } } ); return (
{chatMessageViewModel.sender} {chatMessageViewModel.dateSent}
{ChatMessageInfoModal(chatMessageViewModel, isInfoModalOpen)}
); } export const ChatMessageViewModelToView: React.StateItemConverter< ChatMessageViewModel > = (chatMessageViewModel: ChatMessageViewModel) => { return ChatMessage(chatMessageViewModel); };