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 (
);
}
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 ;
};