merge
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
import { useState, useEffect } from "react";
|
||||
import { Session, User, Coach, Activite, Groupe } from "../classes";
|
||||
import { useLocalData } from "../context/useLocalData";
|
||||
|
||||
import { sessionService } from "../api";
|
||||
|
||||
export const CreateSession = () => {
|
||||
const {user} = useLocalData()
|
||||
@@ -22,7 +22,7 @@ export const CreateSession = () => {
|
||||
newActivite.nom= activiteNom;
|
||||
newActivite.theme=activiteTheme;
|
||||
newActivite.duree= activiteDuree;
|
||||
newActivite.data= new Map<String,String>();
|
||||
newActivite.data= new Map<string,string>();
|
||||
setActivities([...activities, newActivite]);
|
||||
|
||||
setActiviteNom("");
|
||||
@@ -30,31 +30,41 @@ export const CreateSession = () => {
|
||||
setActiviteDuree(0);
|
||||
}
|
||||
|
||||
async function handleCreateSession(){
|
||||
const newSession = new Session();
|
||||
newSession.name = name;
|
||||
newSession.activites= activities;
|
||||
newSession.groupe = groupe;
|
||||
newSession.creneau = new Date(creneau);
|
||||
newSession.duree= duree;
|
||||
newSession.isRecurrent= isRecurent;
|
||||
newSession.coach= user as Coach;
|
||||
newSession.athletes= [];
|
||||
newSession.activites= activities;
|
||||
async function handleCreateSession() {
|
||||
const data = {
|
||||
name: name,
|
||||
creneau: creneau, // string ISO OK
|
||||
duree: duree,
|
||||
isRecurrent: isRecurent,
|
||||
|
||||
try{
|
||||
//reset
|
||||
coachId: user?.id,
|
||||
groupe: groupe ? groupe : undefined,
|
||||
|
||||
activites: activities.map(a => ({
|
||||
nom: a.nom,
|
||||
theme: a.theme,
|
||||
duree: a.duree
|
||||
}))
|
||||
};
|
||||
|
||||
try {
|
||||
await sessionService.create(data);
|
||||
console.log("Session créée");
|
||||
|
||||
// reset
|
||||
setName("");
|
||||
setGroupe("");
|
||||
setCreneau("");
|
||||
setDuree(0);
|
||||
setIsRecurent(false);
|
||||
setActivities([]);
|
||||
}catch (err){
|
||||
console.error(err)
|
||||
} catch (err) {
|
||||
console.error("Erreur lors de la création de la session", err);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
return (
|
||||
<div className="ent">
|
||||
<h2>Activité</h2>
|
||||
|
||||
@@ -42,7 +42,10 @@ export const EDT =() =>{
|
||||
|
||||
var newWeek: Session[] = []
|
||||
user.sessions.forEach(session => {
|
||||
if(session.creneau >= date && session.creneau <= maxDate){
|
||||
if( session.isRecurrent ){
|
||||
newWeek.push(session);
|
||||
}
|
||||
if(session.creneau >= date && session.creneau <= maxDate && !session.isRecurrent){
|
||||
newWeek.push(session);
|
||||
}
|
||||
});
|
||||
|
||||
50
front_end/src/components/edt_coach.tsx
Normal file
50
front_end/src/components/edt_coach.tsx
Normal file
@@ -0,0 +1,50 @@
|
||||
import { useState } from "react";
|
||||
import { coachService } from "../api";
|
||||
|
||||
export default function EdtCoach() {
|
||||
const [name, setName] = useState("");
|
||||
const [error, setError] = useState("");
|
||||
const [statusCode, setStatusCode] = useState<number | null>(null);
|
||||
|
||||
const handleCreate = async () => {
|
||||
try {
|
||||
const response = await coachService.create({ name });
|
||||
console.log("Success:", response.status, response.data);
|
||||
alert(`Coach created! Status: ${response.status}`);
|
||||
setError("");
|
||||
setStatusCode(response.status);
|
||||
} catch (err: any) {
|
||||
if (err.response) {
|
||||
// This is the HTTP response from the server
|
||||
console.error("HTTP status:", err.response.status);
|
||||
console.error("Response data:", err.response.data);
|
||||
setError(`Failed to create coach: ${err.response.data}`);
|
||||
setStatusCode(err.response.status);
|
||||
} else if (err.request) {
|
||||
console.error("No response received", err.request);
|
||||
setError("No response from server!");
|
||||
setStatusCode(null);
|
||||
} else {
|
||||
console.error("Error", err.message);
|
||||
setError(err.message);
|
||||
setStatusCode(null);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
return (
|
||||
<div>
|
||||
<h2>Create Coach</h2>
|
||||
<input
|
||||
type="text"
|
||||
value={name}
|
||||
onChange={(e) => setName(e.target.value)}
|
||||
placeholder="Coach name"
|
||||
/>
|
||||
<button onClick={handleCreate}>Create</button>
|
||||
|
||||
{error && <p style={{ color: "red" }}>{error}</p>}
|
||||
{statusCode && <p>HTTP Status: {statusCode}</p>}
|
||||
</div>
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user