import { useEffect, useRef } from "react"; import { Message } from "./Message"; import type { ChatListProps } from "./types"; export default function ChatList(props: ChatListProps) { const renderedMessages = props.messages.array.map((message) => (
{message.nick} {formatDisplayDate(message)}

{message.payloadAsUtf8}

)); return (
{renderedMessages}
); } function formatDisplayDate(message: Message): string { return message.timestamp.toLocaleString([], { month: "short", day: "numeric", hour: "numeric", minute: "2-digit", hour12: false, }); } const AlwaysScrollToBottom = (props: { messages: Message[] }) => { const elementRef = useRef(null); useEffect(() => { if (elementRef.current) { elementRef.current.scrollIntoView(); } }, [props.messages]); return
; };