From dc9498cc7a8a39687d4ee405f05732655a52a7d0 Mon Sep 17 00:00:00 2001 From: Your Name Date: Wed, 10 Dec 2025 21:16:21 -0500 Subject: [PATCH] update frontend --- src/components/Layout/TopBar.jsx | 37 +++---- src/styles/auth-modal.css | 179 ++++++++++++++++--------------- 2 files changed, 114 insertions(+), 102 deletions(-) diff --git a/src/components/Layout/TopBar.jsx b/src/components/Layout/TopBar.jsx index 8916882..37d33f0 100644 --- a/src/components/Layout/TopBar.jsx +++ b/src/components/Layout/TopBar.jsx @@ -21,11 +21,11 @@ export default function TopBar({ theme = "dark", onChangeTheme }) { const [showAuth, setShowAuth] = useState(false); const [mode, setMode] = useState("login"); // "login" | "signup" - // login + // login form const [loginUser, setLoginUser] = useState(""); const [loginPass, setLoginPass] = useState(""); - // signup + // signup form const [firstName, setFirstName] = useState(""); const [lastName, setLastName] = useState(""); const [regUser, setRegUser] = useState(""); @@ -46,12 +46,11 @@ export default function TopBar({ theme = "dark", onChangeTheme }) { const closeModal = () => { setShowAuth(false); - // reset basique des champs setLoginPass(""); setSignupError(""); }; - // 🔒 Quand on devient authentifié → fermer automatiquement le popup + // When auth becomes true, close the popup automatically useEffect(() => { if (authenticated) { setShowAuth(false); @@ -61,7 +60,7 @@ export default function TopBar({ theme = "dark", onChangeTheme }) { const handleLoginSubmit = async (e) => { e.preventDefault(); await login(loginUser, loginPass); - // le useEffect ci-dessus va fermer le modal quand authenticated passe à true + // popup closes via useEffect when authenticated becomes true }; const handleSignupSubmit = async (e) => { @@ -74,7 +73,9 @@ export default function TopBar({ theme = "dark", onChangeTheme }) { !regEmail.trim() || !regPass ) { - setSignupError("Nom, prénom, user, email et mot de passe sont requis."); + setSignupError( + "First name, last name, username, email and password are required." + ); return; } try { @@ -86,12 +87,12 @@ export default function TopBar({ theme = "dark", onChangeTheme }) { firstName: firstName.trim(), lastName: lastName.trim(), }); - // après création, on tente le login direct + // auto-login after registration await login(regUser.trim(), regPass); - // la fermeture est gérée aussi par le useEffect(authenticated) + // popup closes via useEffect } catch (err) { console.error(err); - setSignupError(err.message || "Register error."); + setSignupError(err.message || "Registration error."); } finally { setSignupLoading(false); } @@ -198,7 +199,7 @@ export default function TopBar({ theme = "dark", onChangeTheme }) { {mode === "login" ? (