import {faRobot} from '@fortawesome/free-solid-svg-icons'; import {useContext, useEffect, useState} from 'react'; import {SessionContext} from "@/context/SessionContext"; import {ConversationProps} from "@/lib/models/QuillSense"; import System from "@/lib/models/System"; import {FontAwesomeIcon} from "@fortawesome/react-fontawesome"; import {BookContext, BookContextProps} from "@/context/BookContext"; import {LangContext} from "@/context/LangContext"; interface QuillListProps { handleSelectConversation: (itemId: string) => void; } export default function QuillList({handleSelectConversation}: QuillListProps) { const {session} = useContext(SessionContext); const {book} = useContext(BookContext); const {lang} = useContext(LangContext); const [conversations, setConversations] = useState([]); useEffect((): void => { getConversations().then(); }, []); async function getConversations(): Promise { try { const response: ConversationProps[] = await System.authGetQueryToServer( `quillsense/conversations`, session.accessToken, lang, { id: book?.bookId, } ); if (response.length > 0) { setConversations(response); } } catch (e) { console.error(e); } } function getStatusColorClass(status: number): string { switch (status) { case 1: return 'bg-muted'; case 2: return 'bg-blue-500'; case 3: return 'bg-primary'; case 4: return 'bg-error'; default: return 'bg-muted'; } } return (
{conversations.map((conversation: ConversationProps) => (
handleSelectConversation(conversation.id)} >
{conversation.title || "Sans titre"} {conversation.startDate && (

{conversation.startDate}

)}
{conversation.mode && ( {conversation.mode} )}
))}
); }