2025-12-03 21:56:50 +00:00
|
|
|
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"
|
|
|
|
|
>
|
2025-12-03 21:56:50 +00:00
|
|
|
<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
|
|
|
};
|