'use client'; import { Fragment, useState } from 'react'; import type { AI } from './ai'; import { useActions } from '@ai-sdk/rsc'; import { useAIState, useUIState } from '@ai-sdk/rsc'; import { generateId } from 'ai'; import { Message } from './message'; export default function Home() { const [input, setInput] = useState(''); const [messages, setMessages] = useUIState(); const { submitUserMessage } = useActions(); const handleSubmission = async () => { setMessages(currentMessages => [ ...currentMessages, { id: generateId(), display: {input}, }, ]); const response = await submitUserMessage(input); setMessages(currentMessages => [...currentMessages, response]); setInput(''); }; return (
setInput(event.target.value)} placeholder="Ask a question" onKeyDown={event => { if (event.key === 'Enter') { handleSubmission(); } }} />
{messages.map(message => ( {message.display} ))}
); }