import { useState, useEffect, useRef } from 'react'; import ReactMarkdown from 'react-markdown'; import Stage1 from './Stage1'; import Stage2 from './Stage2'; import Stage3 from './Stage3'; import './ChatInterface.css'; export default function ChatInterface({ conversation, onSendMessage, isLoading, }) { const [input, setInput] = useState(''); const messagesEndRef = useRef(null); const scrollToBottom = () => { messagesEndRef.current?.scrollIntoView({ behavior: 'smooth' }); }; useEffect(() => { scrollToBottom(); }, [conversation]); const handleSubmit = (e) => { e.preventDefault(); if (input.trim() && !isLoading) { onSendMessage(input); setInput(''); } }; const handleKeyDown = (e) => { // Submit on Enter (without Shift) if (e.key === 'Enter' && !e.shiftKey) { e.preventDefault(); handleSubmit(e); } }; if (!conversation) { return (
Create a new conversation to get started
Ask a question to consult the LLM Council