feat: Mise en place du Backend-messagerie [#17]

This commit is contained in:
Luc SORIGNET
2025-05-17 11:35:57 +02:00
parent fc9a1ed252
commit c6bc0d0b51
9 changed files with 291 additions and 188 deletions

View File

@ -1,46 +1,16 @@
'use client';
import React from 'react';
import React, { useEffect, useState } from 'react';
import Chat from '@/components/Chat';
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'),
},
];
import { useSession } from '@/context/SessionContext';
import { useEstablishment } from '@/context/EstablishmentContext';
export default function MessageriePage() {
const simulateResponse = (contactId, setMessages) => {
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);
};
const { user } = useSession(); // Doit fournir l'id du parent connecté
const { selectedEstablishmentId } = useEstablishment();
return <Chat contacts={contacts} simulateResponse={simulateResponse} />;
if (!user) return <div>Chargement...</div>;
return (
<Chat userProfileId={user.id} establishmentId={selectedEstablishmentId} />
);
}