import { ScrollArea, Stack } from "@mantine/core"; import Message from "./components/Message/Message.tsx"; import MessageInput from "./components/MessageInput/MessageInput.tsx"; import { useChatContext } from "../../pages/ClientsPage/contexts/ChatContext.tsx"; import { MessageSchema } from "../../client"; import { ReactNode } from "react"; import ChatDate from "./components/ChatDate/ChatDate.tsx"; const Chat = () => { const { messages, scrollRef, onScrollPositionChange, } = useChatContext(); const getChatElements = (): ReactNode[] => { const elements: ReactNode[] = []; let prevMessage: MessageSchema | null = null; for (let i = messages.length - 1; i >= 0; i--) { const currMessage = messages[i]; if (!prevMessage || prevMessage.createdAt.substring(5, 10) != currMessage.createdAt.substring(5, 10)) { elements.push(( )); } elements.push( ); prevMessage = currMessage; } return elements; }; return ( {getChatElements()} ); }; export default Chat;