update frontend
This commit is contained in:
parent
e06a811227
commit
34414ebaca
|
|
@ -1,4 +1,4 @@
|
||||||
import React, { useState } from "react";
|
import React, { useState, useEffect } from "react";
|
||||||
import { useAuth } from "../../auth/AuthContext";
|
import { useAuth } from "../../auth/AuthContext";
|
||||||
import { registerUser } from "../../api/client";
|
import { registerUser } from "../../api/client";
|
||||||
|
|
||||||
|
|
@ -46,19 +46,34 @@ export default function TopBar({ theme = "dark", onChangeTheme }) {
|
||||||
|
|
||||||
const closeModal = () => {
|
const closeModal = () => {
|
||||||
setShowAuth(false);
|
setShowAuth(false);
|
||||||
|
// reset basique des champs
|
||||||
|
setLoginPass("");
|
||||||
|
setSignupError("");
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// 🔒 Quand on devient authentifié → fermer automatiquement le popup
|
||||||
|
useEffect(() => {
|
||||||
|
if (authenticated) {
|
||||||
|
setShowAuth(false);
|
||||||
|
}
|
||||||
|
}, [authenticated]);
|
||||||
|
|
||||||
const handleLoginSubmit = async (e) => {
|
const handleLoginSubmit = async (e) => {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
await login(loginUser, loginPass);
|
await login(loginUser, loginPass);
|
||||||
// on laisse l'utilisateur fermer manuellement,
|
// le useEffect ci-dessus va fermer le modal quand authenticated passe à true
|
||||||
// il voit en haut si ça a marché ou pas.
|
|
||||||
};
|
};
|
||||||
|
|
||||||
const handleSignupSubmit = async (e) => {
|
const handleSignupSubmit = async (e) => {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
setSignupError("");
|
setSignupError("");
|
||||||
if (!firstName.trim() || !lastName.trim() || !regUser.trim() || !regEmail.trim() || !regPass) {
|
if (
|
||||||
|
!firstName.trim() ||
|
||||||
|
!lastName.trim() ||
|
||||||
|
!regUser.trim() ||
|
||||||
|
!regEmail.trim() ||
|
||||||
|
!regPass
|
||||||
|
) {
|
||||||
setSignupError("Nom, prénom, user, email et mot de passe sont requis.");
|
setSignupError("Nom, prénom, user, email et mot de passe sont requis.");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
@ -73,8 +88,7 @@ export default function TopBar({ theme = "dark", onChangeTheme }) {
|
||||||
});
|
});
|
||||||
// après création, on tente le login direct
|
// après création, on tente le login direct
|
||||||
await login(regUser.trim(), regPass);
|
await login(regUser.trim(), regPass);
|
||||||
// on ferme le popup, l'état auth s'affiche dans la topbar
|
// la fermeture est gérée aussi par le useEffect(authenticated)
|
||||||
setShowAuth(false);
|
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
console.error(err);
|
console.error(err);
|
||||||
setSignupError(err.message || "Register error.");
|
setSignupError(err.message || "Register error.");
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue