From 2157222e17cf35477dded98b625b7cb5a1920b0a Mon Sep 17 00:00:00 2001 From: Your Name Date: Sat, 20 Dec 2025 02:51:28 -0500 Subject: [PATCH] topppp --- src/components/Layout/TopBar.jsx | 46 +++ .../Layout/TopBar.jsx.bak.1766214623 | 287 +++++++++++++++ .../Layout/TopBar.jsx.bak.fix.1766214994 | 332 ++++++++++++++++++ src/styles/topbar.css | 91 +++++ src/styles/topbar.css.bak.1766214715 | 251 +++++++++++++ 5 files changed, 1007 insertions(+) create mode 100644 src/components/Layout/TopBar.jsx.bak.1766214623 create mode 100644 src/components/Layout/TopBar.jsx.bak.fix.1766214994 create mode 100644 src/styles/topbar.css.bak.1766214715 diff --git a/src/components/Layout/TopBar.jsx b/src/components/Layout/TopBar.jsx index 5a0e45b..ddc7d39 100644 --- a/src/components/Layout/TopBar.jsx +++ b/src/components/Layout/TopBar.jsx @@ -59,6 +59,44 @@ export default function TopBar({ theme = "dark", onChangeTheme }) { if (authenticated) setShowAuth(false); }, [authenticated]); + /* SW_URL_NOTICE:BEGIN */ + useEffect(() => { + try { + const qs = new URLSearchParams(window.location.search || ""); + const verified = qs.get("verified") || qs.get("email_verified"); + const signup = qs.get("signup"); + const notice = qs.get("notice"); + + if (verified === "1" || verified === "true") { + setSignupInfo("✅ Email confirmé. Tu peux te connecter."); + setMode("login"); + setShowAuth(true); + } else if (signup === "1" || signup === "true") { + setSignupInfo("✅ Compte créé. Vérifie tes emails (et le spam), puis connecte-toi."); + setMode("login"); + setShowAuth(true); + } else if (notice) { + // allow custom notice (URL-encoded) + const msg = decodeURIComponent(notice); + if (msg && msg.trim()) { + setSignupInfo(msg.trim()); + setMode("login"); + setShowAuth(true); + } + } + + // clean URL (remove params without reload) + if (verified || signup || notice) { + const clean = window.location.pathname + (window.location.hash || ""); + window.history.replaceState({}, "", clean); + } +} catch (e) { + // ignore + } + }, []); + /* SW_URL_NOTICE:END */ + + const handleLoginSubmit = async (e) => { e.preventDefault(); await login(loginUser, loginPass); @@ -218,6 +256,14 @@ export default function TopBar({ theme = "dark", onChangeTheme }) { + {/* SW_MODAL_NOTICE:BEGIN */} + {signupInfo ? ( +
+ {signupInfo} +
+ ) : null} + {/* SW_MODAL_NOTICE:END */} + {mode === "login" ? (