import { useState } from 'react'; import { useRecoilValue } from 'recoil'; import { CSSTransition } from 'react-transition-group'; import type { TMessage } from 'librechat-data-provider'; import { useScreenshot, useMessageScrolling, useLocalize } from '~/hooks'; import ScrollToBottom from '~/components/Messages/ScrollToBottom'; import MultiMessage from './MultiMessage'; import { cn } from '~/utils'; import store from '~/store'; export default function MessagesView({ messagesTree: _messagesTree, }: { messagesTree?: TMessage[] | null; }) { const localize = useLocalize(); const fontSize = useRecoilValue(store.fontSize); const { screenshotTargetRef } = useScreenshot(); const scrollButtonPreference = useRecoilValue(store.showScrollButton); const [currentEditId, setCurrentEditId] = useState(-1); const { conversation, scrollableRef, messagesEndRef, showScrollButton, handleSmoothToRef, debouncedHandleScroll, } = useMessageScrolling(_messagesTree); const { conversationId } = conversation ?? {}; return ( <>
{(_messagesTree && _messagesTree.length == 0) || _messagesTree === null ? (
{localize('com_ui_nothing_found')}
) : ( <>
)}
); }