import { useState } from 'react'; import { useStartConversationMutation } from './conversation-queries.js'; interface StartConversationFormProps { onStarted(conversationId: string): void; } export function StartConversationForm({ onStarted }: StartConversationFormProps) { const [username, setUsername] = useState(''); const [message, setMessage] = useState(''); const [successUsername, setSuccessUsername] = useState(null); const mutation = useStartConversationMutation(); const canSubmit = username.trim().length > 0 && message.trim().length > 0 && !mutation.isPending; function submit(event: React.FormEvent) { event.preventDefault(); if (!canSubmit) return; mutation.mutate( { username, message }, { onSuccess(chat) { setSuccessUsername(chat.username); setUsername(''); setMessage(''); onStarted(chat.roomId ?? chat.username); }, }, ); } return (
setUsername(event.target.value)} placeholder="username" value={username} />