import Message from "./components/Message/Message.tsx";
import { useChatContext } from "../../pages/ClientsPage/contexts/ChatContext.tsx";
import { MessageSchema } from "../../client";
import { ReactNode, useCallback } from "react";
import ChatDate from "./components/ChatDate/ChatDate.tsx";
import MessageInput from "./components/MessageInput/MessageInput.tsx";
import { Virtuoso } from "react-virtuoso";
import { Stack } from "@mantine/core";
const Chat = () => {
    const {
        messages,
        lastMessage,
        firstItemIndex,
        fetchMoreMessages,
    } = useChatContext();
    const onFollowOutputHandler = useCallback(
        (atBottom: boolean) => {
            if (atBottom || lastMessage?.crmSender) {
                return "auto";
            } else {
                return false;
            }
        },
        [lastMessage],
    );
    const itemContent = useCallback(
        (index: number, sessionData: MessageSchema) => {
            let dateComponent: ReactNode | null = null;
            const msgArrayIdx = index - firstItemIndex;
            const currMessage = messages[msgArrayIdx];
            let prevMessage = null;
            if (msgArrayIdx > 0) {
                prevMessage = messages[msgArrayIdx - 1];
            }
            if (!prevMessage || prevMessage.createdAt.substring(5, 10) != currMessage.createdAt.substring(5, 10)) {
                dateComponent = (
                    
                );
            }
            return (
                
                    {dateComponent}
                    
                
            );
        },
        [messages],
    );
    if (messages.length === 0) {
        return (
            
                
            
        );
    }
    
    return (
        
            
            
        
    );
};
export default Chat;