import { useCallback } from 'react' import { Thread } from '@janhq/core/' import { motion as m } from 'framer-motion' import { useAtomValue } from 'jotai' import { GalleryHorizontalEndIcon, MoreVerticalIcon } from 'lucide-react' import { twMerge } from 'tailwind-merge' import useSetActiveThread from '@/hooks/useSetActiveThread' import { displayDate } from '@/utils/datetime' import CleanThreadModal from '../CleanThreadModal' import DeleteThreadModal from '../DeleteThreadModal' import { getActiveThreadIdAtom, threadStatesAtom, threadsAtom, } from '@/helpers/atoms/Thread.atom' export default function ThreadList() { const threadStates = useAtomValue(threadStatesAtom) const threads = useAtomValue(threadsAtom) const activeThreadId = useAtomValue(getActiveThreadIdAtom) const { setActiveThread } = useSetActiveThread() const onThreadClick = useCallback( (thread: Thread) => { setActiveThread(thread) }, [setActiveThread] ) return (
{thread.updated && displayDate(thread.updated)}
{threadStates[thread.id]?.lastMessage ? threadStates[thread.id]?.lastMessage : 'No new message'}