import { useEffect, useState } from 'react'; import { Activite, Session } from '../classes'; import { dateToString, hoursToString } from './edt'; import './style/edt.css'; import { Modal } from './Modal'; import Loading from './loading'; import {delay} from "../requetes"; type Props = { session:Session; } function EdtSession({session}:Props){ const [open, setOpen] = useState(false) const [loading,setLoading] = useState(false); function handleOpen(): void { setOpen(!open); } function handleDeleteActivite(): void { session.activites.pop(); //TODO } function handleAddActivite(): void { const newActivite = new Activite(); //TODO session.activites.push(newActivite); } async function updateActivites(){ //TODO await delay(2000); //await updateActivitiesOfSessionAPI(session); setLoading(false); } useEffect(() => { if(open){ setLoading(true); updateActivites() } },[open]) const sDate = session.creneau; return(
handleOpen()}>
{hoursToString(sDate)}
{session.isRecurrent &&
recurrent
}
{session.name}
{open && setOpen(false)}>
{session.name}
{hoursToString(sDate)}
{dateToString(sDate)}
Activités :
{session.activites.map((activite,index)=>(
{activite.nom}
))} {loading &&
}
}
) } export default EdtSession