import { useCallback, memo } from 'react' import { Thread } from '@janhq/core' import { Button, Modal, ModalClose } from '@janhq/joi' import { useSetAtom } from 'jotai' import { Paintbrush } from 'lucide-react' import { defaultThreadTitle } from '@/constants/Threads' import useCortex from '@/hooks/useCortex' import useThreads from '@/hooks/useThreads' import { updateThreadTitleAtom } from '@/helpers/atoms/Thread.atom' type Props = { thread: Thread closeContextMenu?: () => void } const ModalCleanThread = ({ thread, closeContextMenu }: Props) => { const { cleanThread } = useThreads() const updateThreadTitle = useSetAtom(updateThreadTitleAtom) const { updateThread } = useCortex() const onCleanThreadClick = useCallback( (e: React.MouseEvent) => { e.stopPropagation() cleanThread(thread.id) updateThreadTitle(thread.id, defaultThreadTitle) updateThread({ ...thread, title: defaultThreadTitle }) }, [cleanThread, thread, updateThread, updateThreadTitle] ) return ( { if (open && closeContextMenu) { closeContextMenu() } }} trigger={
e.stopPropagation()} > Clean thread
} content={

Are you sure you want to clean this thread?

e.stopPropagation()}>
} /> ) } export default memo(ModalCleanThread)