import React from 'react'; import RenameButton from './RenameButton'; import DeleteButton from './DeleteButton'; import { useSelector, useDispatch } from 'react-redux'; import { setConversation } from '~/store/convoSlice'; import { setMessages } from '~/store/messageSlice'; import manualSWR from '~/utils/fetchers'; export default function Conversation({ id, parentMessageId, title = 'New conversation' }) { const dispatch = useDispatch(); const conversationId = useSelector((state) => state.convo.conversationId); const { trigger, isMutating } = manualSWR( `http://localhost:3050/messages/${id}`, 'get', (res) => dispatch(setMessages(res)) ); const clickHandler = () => { if (conversationId === id) { return; } dispatch(setConversation({ conversationId: id, parentMessageId })); trigger(); }; return ( clickHandler()} className="animate-flash group relative flex cursor-pointer items-center gap-3 break-all rounded-md bg-gray-800 py-3 px-3 pr-14 hover:bg-gray-800" >
{title}
{id === conversationId && } {id === conversationId && }
); }