import { useState, useEffect, useRef } from 'react'; import { Send, Loader, X } from 'lucide-react'; export default function TicketThreadModal({ ticket, onClose, onReply, isLoadingConversation }) { const [replyMessage, setReplyMessage] = useState(''); const messagesEndRef = useRef(null); // Défilement automatique useEffect(() => { if (ticket && ticket.messages && !isLoadingConversation) { messagesEndRef.current?.scrollIntoView({ behavior: "smooth" }); } }, [ticket?.messages, isLoadingConversation]); if (!ticket) return null; const handleReplySubmit = (e) => { e.preventDefault(); if (!replyMessage.trim()) return; onReply(replyMessage); setReplyMessage(''); // Reset auto du champ }; return (
{ticket.id} {ticket.department}

{ticket.subject}

{isLoadingConversation ? (
Téléchargement des paquets de discussion sécurisés...
) : ticket.messages.length === 0 ? (
Aucun message trouvé dans ce fil.
) : ( ticket.messages.map((msg, idx) => (
{msg.sender === 'client' ? 'VOUS' : 'INGÉNIEUR GISE'} {msg.date}
{msg.text}
)) )}
{ticket.status !== 'closed' ? (
) : (
[ CE TICKET EST VERROUILLÉ ET ARCHIVÉ ]
)}
); }