'use client'; import { ChatWithMessages } from '@/lib/types'; import React, { useEffect } from 'react'; import ChatList from './chat/ChatList'; import { Card } from './ui/Card'; import { useAtom, useAtomValue } from 'jotai'; import { selectedMessageId } from '@/state/chat'; import CodeResultDisplay from './CodeResultDisplay'; export interface ChatInterfaceProps { chat: ChatWithMessages; userId?: string | null; } const ChatInterface: React.FC = ({ chat, userId }) => { const [messageId, setMessageId] = useAtom(selectedMessageId); const messageCodeResult = chat.messages.find( message => message.id === messageId, )?.result; useEffect(() => { if (messageId) return; const lastMessageWithResult = chat.messages.findLast(message => !!message.result) ?? chat.messages[chat.messages.length - 1]; setMessageId(lastMessageWithResult?.id); }, [messageId]); return (
{messageCodeResult?.type === 'final_code' && messageCodeResult.payload && ( )}
); }; export default ChatInterface;