diff --git a/front_end/src/classes.tsx b/front_end/src/classes.tsx index a22ad88..365dda1 100644 --- a/front_end/src/classes.tsx +++ b/front_end/src/classes.tsx @@ -4,6 +4,7 @@ export type Role = "Admin" | "Athlete" | "Coach"; export class User{ id!: number; nom!: String; + prenom!:String; sessions: Session[] = []; //nb: Admin liaison non symétrique /!\ email!: String; role!: Role; diff --git a/front_end/src/components/login.tsx b/front_end/src/components/login.tsx index 97b4465..aef8447 100644 --- a/front_end/src/components/login.tsx +++ b/front_end/src/components/login.tsx @@ -8,11 +8,31 @@ import { useLocalData } from '../context/useLocalData'; export const Login =() =>{ const {user,setUser} = useLocalData() + const { keycloak } = useKeycloak(); + useEffect(() => { + if (keycloak.authenticated) { + fetch("http://localhost:8080/api/athlete/create", { + method: "POST", + headers: { + Authorization: `Bearer ${keycloak.token}`, + }, + }); + } + }, [keycloak.authenticated]); - - useEffect(() => { //TODO à supprimer - setUser(getUserTest()) - },[]); + useEffect(() => { + if (keycloak.authenticated) { + const tokenParsed = keycloak.tokenParsed; + setUser({ + id: tokenParsed?.id, + email: tokenParsed?.email, + nom: tokenParsed?.family_name, + prenom: tokenParsed?.given_name, + role: "Athlete", + sessions: [] + }); + } + }, [keycloak.authenticated]); function handleLogin(): void { @@ -24,8 +44,6 @@ export const Login =() =>{ keycloak.logout() setUser(new User()); } - - const { keycloak } = useKeycloak() return(
diff --git a/front_end/src/components/ressourcePanel.tsx b/front_end/src/components/ressourcePanel.tsx index 57f8661..00aca71 100644 --- a/front_end/src/components/ressourcePanel.tsx +++ b/front_end/src/components/ressourcePanel.tsx @@ -11,6 +11,9 @@ const [showSessions, setShowSessions] = useState(false); const [showLignes, setShowLignes] = useState(false); console.log("Rôle utilisateur:", user.role); + console.log(user.nom); + console.log(user.prenom); + console.log(user.email); if (user.role === "Athlete") return null;