import { useMemo, memo } from 'react'; import { parseISO, isToday } from 'date-fns'; import { useLocation } from 'react-router-dom'; import { TConversation } from 'librechat-data-provider'; import { groupConversationsByDate } from '~/utils'; import Conversation from './Conversation'; import Convo from './Convo'; const Conversations = ({ conversations, moveToTop, toggleNav, }: { conversations: TConversation[]; moveToTop: () => void; toggleNav: () => void; }) => { const location = useLocation(); const { pathname } = location; const ConvoItem = pathname.includes('chat') ? Conversation : Convo; const groupedConversations = useMemo( () => groupConversationsByDate(conversations), [conversations], ); const firstTodayConvoId = conversations.find((convo) => isToday(parseISO(convo.updatedAt)), )?.conversationId; return (
{groupedConversations.map(([groupName, convos]) => (
{groupName}
{convos.map((convo, i) => ( ))}
))}
); }; export default memo(Conversations);