import * as React from "bloatless-react"; import { Chat, ChatMessage } from "../Model/chatModel"; import { translation } from "../translations"; export function ThreadView(chat: Chat) { const messageConverter: React.ListItemConverter = (message) => { function copyMessage() { navigator.clipboard.writeText(message.body); } function decrypt() { chat.decryptReceivedMessage(message); } function remove() { chat.deleteMessage(message); } const messageBody = React.createProxyState( [chat.messages], () => message.body ); return (
{message.sender} - {message.channel}
{new Date(message.isoDate).toLocaleString()}
); }; const listElement = (
); chat.messages.handleAddition(() => { const scrollFromBottom = listElement.scrollHeight - (listElement.scrollTop + listElement.offsetHeight); if (scrollFromBottom > 400) return; listElement.scrollTop = listElement.scrollHeight; }); setTimeout(() => (listElement.scrollTop = listElement.scrollHeight), 50); return listElement; }