'use client' import React, { useState, useRef, useEffect } from 'react'; import { SendHorizontal } from 'lucide-react'; import Image from 'next/image'; import { getGravatarUrl } from '@/utils/gravatar'; const contacts = [ { id: 1, name: 'Facturation', profilePic: getGravatarUrl('facturation@n3wtschool.com') }, { id: 2, name: 'Enseignant 1', profilePic: getGravatarUrl('enseignant@n3wtschool.com') }, { id: 3, name: 'Contact', profilePic: getGravatarUrl('contact@n3wtschool.com') }, ]; export default function MessageriePage() { const [selectedContact, setSelectedContact] = useState(null); const [messages, setMessages] = useState({}); const [newMessage, setNewMessage] = useState(''); const messagesEndRef = useRef(null); const scrollToBottom = () => { messagesEndRef.current?.scrollIntoView({ behavior: 'smooth' }); }; useEffect(() => { scrollToBottom(); }, [messages]); const handleSendMessage = () => { if (newMessage.trim() && selectedContact) { const contactMessages = messages[selectedContact.id] || []; setMessages({ ...messages, [selectedContact.id]: [...contactMessages, { id: contactMessages.length + 1, text: newMessage, date: new Date() }], }); setNewMessage(''); simulateContactResponse(selectedContact.id); } }; const handleKeyPress = (event) => { if (event.key === 'Enter') { handleSendMessage(); } }; const simulateContactResponse = (contactId) => { setTimeout(() => { setMessages((prevMessages) => { const contactMessages = prevMessages[contactId] || []; return { ...prevMessages, [contactId]: [...contactMessages, { id: contactMessages.length + 2, text: 'Réponse automatique', isResponse: true, date: new Date() }], }; }); }, 2000); }; return (