fix style
This commit is contained in:
@@ -4,62 +4,48 @@ import { dateToString, hoursToString } from '../edt';
|
||||
import '../style/objectList.css';
|
||||
import { Modal } from '../Modal';
|
||||
import Loading from '../loading';
|
||||
import {delay} from "../../requetes";
|
||||
import {delay, getSessionsOfUserAPI} from "../../requetes";
|
||||
import CreateActivite from '../createActivite';
|
||||
import { useLocalData } from '../../context/useLocalData';
|
||||
import ObjectSession from './session';
|
||||
import StatAthlete from '../StatsAthlete';
|
||||
|
||||
type Props = {
|
||||
admin?:Admin|null;
|
||||
athlete?:Athlete|null;
|
||||
coach?:Coach|null;
|
||||
user:User;
|
||||
|
||||
}
|
||||
|
||||
function ObjectUser({admin=null,athlete=null,coach=null}:Props){
|
||||
function ObjectUser({user}:Props){
|
||||
|
||||
const {user,setUser} = useLocalData()
|
||||
const[user2,setUser2]= useState<User>(getUser());
|
||||
//const {user,setUser} = useLocalData());
|
||||
const [open, setOpen] = useState<boolean>(false);
|
||||
const [open2, setOpen2] = useState<boolean>(false);
|
||||
const [loading,setLoading] = useState<boolean>(false);
|
||||
const [sessions,setSessions] = useState<Session[]>([]);
|
||||
|
||||
function getUser(): User{
|
||||
if(admin!=null) return admin;
|
||||
if(athlete!=null) return athlete;
|
||||
if(coach!=null) return coach;
|
||||
else return new User();
|
||||
|
||||
}
|
||||
|
||||
function handleOpen(): void {
|
||||
setOpen(!open);
|
||||
}
|
||||
|
||||
function handleDeleteSession(session:Session): void {
|
||||
if(athlete!==null){
|
||||
athlete.sessions.splice(athlete.sessions.indexOf(session), 1);
|
||||
setSessions([...athlete.sessions])
|
||||
if(user instanceof Coach || user instanceof Athlete){
|
||||
user.sessions.splice(user.sessions.indexOf(session), 1);
|
||||
setSessions([...user.sessions])
|
||||
}
|
||||
|
||||
if(coach!==null){
|
||||
coach.sessions.splice(coach.sessions.indexOf(session), 1);
|
||||
setSessions([...coach.sessions])
|
||||
}
|
||||
}
|
||||
|
||||
function handleAddSession(): void {
|
||||
if(athlete!==null){
|
||||
if(user instanceof Athlete){
|
||||
setOpen2(true)
|
||||
}
|
||||
}
|
||||
|
||||
async function updateSession(){
|
||||
if(athlete!==null){
|
||||
//TODO
|
||||
await delay(2000);
|
||||
//await update ... (athlete);
|
||||
if(user instanceof Athlete || user instanceof Coach){
|
||||
user.sessions = await getSessionsOfUserAPI(user);
|
||||
setLoading(false);
|
||||
}
|
||||
}
|
||||
@@ -74,11 +60,11 @@ function ObjectUser({admin=null,athlete=null,coach=null}:Props){
|
||||
|
||||
useEffect(() => {
|
||||
if(!loading){
|
||||
if(athlete!==null){
|
||||
setSessions([...athlete.sessions])
|
||||
if(user instanceof Athlete){
|
||||
setSessions([...user.sessions])
|
||||
}
|
||||
if(coach!==null){
|
||||
setSessions([...coach.sessions])
|
||||
if(user instanceof Coach){
|
||||
setSessions([...user.sessions])
|
||||
}
|
||||
}
|
||||
},[loading])
|
||||
@@ -86,13 +72,13 @@ function ObjectUser({admin=null,athlete=null,coach=null}:Props){
|
||||
|
||||
function returnSession(session: Session|null){
|
||||
if(session!==null){
|
||||
if(athlete!==null){
|
||||
athlete.sessions.push(session);
|
||||
setSessions([...athlete.sessions])
|
||||
if(user instanceof Athlete){
|
||||
user.sessions.push(session);
|
||||
setSessions([...user.sessions])
|
||||
}
|
||||
if(coach!==null){
|
||||
coach.sessions.push(session);
|
||||
setSessions([...coach.sessions])
|
||||
if(user instanceof Coach){
|
||||
user.sessions.push(session);
|
||||
setSessions([...user.sessions])
|
||||
}
|
||||
}
|
||||
setOpen2(false);
|
||||
@@ -101,23 +87,29 @@ function ObjectUser({admin=null,athlete=null,coach=null}:Props){
|
||||
return(
|
||||
<div>
|
||||
<div className="object" onClick={() => handleOpen()}>
|
||||
<div>{user2.nom}</div>
|
||||
<div>{user.nom}</div>
|
||||
|
||||
{/* <div>{user2.role}</div> */}
|
||||
</div>
|
||||
{open &&
|
||||
<Modal isOpen={open} onClose={() => setOpen(false)}>
|
||||
<div className="object_modal">
|
||||
<div>{user2.nom}</div>
|
||||
<div>{user2.email}</div>
|
||||
<div className='list_object'>
|
||||
<div>Sessions :</div>
|
||||
{/* TODO */}
|
||||
<div>{user.prenom}</div>
|
||||
<div>{user.nom}</div>
|
||||
{(user instanceof Athlete || user instanceof Coach) &&
|
||||
<div className='padding'>
|
||||
<div className='list_object_modal'>
|
||||
<div>Sessions :</div>
|
||||
{user.sessions.map((session,index)=>(
|
||||
<ObjectSession session={session}></ObjectSession>
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
|
||||
</div>
|
||||
{athlete !== null && (
|
||||
{user instanceof Athlete && (
|
||||
<div className="stats-container">
|
||||
<StatAthlete athlete={athlete} sessions={sessions} />
|
||||
<StatAthlete athlete={user}/>
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user