veza/apps/web/src/features/chat/components/ChatInput.tsx

42 lines
1.2 KiB
TypeScript
Raw Normal View History

import React, { useState } from 'react';
import { Send } from 'lucide-react';
import { useChat } from '../hooks/useChat';
import { useChatStore } from '../store/chatStore';
export const ChatInput: React.FC = () => {
const [message, setMessage] = useState('');
const { sendMessage } = useChat();
const { currentConversationId } = useChatStore();
const handleSubmit = (e: React.FormEvent) => {
e.preventDefault();
if (message.trim() && currentConversationId) {
sendMessage(message);
setMessage('');
}
};
return (
2025-12-13 02:34:34 +00:00
<form
onSubmit={handleSubmit}
className="flex items-center gap-2 p-4 border-t bg-gray-50"
>
<input
type="text"
value={message}
onChange={(e) => setMessage(e.target.value)}
placeholder="Écrire un message..."
className="flex-1 p-2 border rounded-lg focus:ring-blue-500 focus:border-blue-500"
disabled={!currentConversationId}
/>
<button
type="submit"
className="p-2 bg-blue-600 text-white rounded-lg hover:bg-blue-700 disabled:bg-gray-400"
disabled={!currentConversationId || !message.trim()}
>
<Send size={20} />
</button>
</form>
);
2025-12-13 02:34:34 +00:00
};