From b2aed2cf0db5350547eb2703ec0e84be9b66842a Mon Sep 17 00:00:00 2001 From: Gustavo S Frehse <gsf20@inf.ufpr.br> Date: Mon, 19 May 2025 09:58:49 -0300 Subject: [PATCH] ADD callback to login on govbr --- src/app/components/SideBar.js | 16 ++++++++-------- src/app/entrar/page.js | 13 +++++++++---- src/app/handlers/loginHandler.js | 8 ++++++-- 3 files changed, 23 insertions(+), 14 deletions(-) diff --git a/src/app/components/SideBar.js b/src/app/components/SideBar.js index 46c95be9..250ff3a5 100644 --- a/src/app/components/SideBar.js +++ b/src/app/components/SideBar.js @@ -102,14 +102,6 @@ export default function SideBar({ setFilterState, filterState }) { const loggedIn = useLoggedIn(); const [id, setId] = useState(null); - useEffect(() => { - if (loggedIn) { - let data = userData(); - console.log(data, "ALKSDJLAKSJD"); - setId(data?.user["id"]); - } - }, [loggedIn]); - const getHref = (href) => { switch (href) { case "/sobre": @@ -144,6 +136,14 @@ export default function SideBar({ setFilterState, filterState }) { } }; + useEffect(() => { + if (loggedIn) { + let data = userData(); + console.log(data, "ALKSDJLAKSJD"); + setId(data?.["id"]); + } + }, [loggedIn]); + return ( <> <NeedLoginModal open={needLoginOpen} setOpen={setNeedLoginOpen} /> diff --git a/src/app/entrar/page.js b/src/app/entrar/page.js index 0703538a..41d85144 100644 --- a/src/app/entrar/page.js +++ b/src/app/entrar/page.js @@ -13,7 +13,7 @@ import { ThemeProvider } from "@emotion/react"; import theme from "../theme"; import LoginInfo from "./components/LoginInfo"; import AcessibilityBar from "../components/AcessibilityBar"; -import { logIn } from "../handlers/loginHandler"; +import { logIn, updateAccessToken } from "../handlers/loginHandler"; function Login() { const [userEmail, setUserEmail] = useState(""); @@ -22,19 +22,24 @@ function Login() { const [suggestionMessage, setSuggestionMessage] = useState(""); const [isFirstLetterUpperCase, setIsFirstLetterUpperCase] = useState(false); const searchParams = useSearchParams(); - const access_token = getStoredValue("access_token"); + const router = useRouter(); + + if (searchParams.has("token")) { + updateAccessToken(searchParams.get("token")).then(() => { + router.push("/sobre"); + }) + } // Obtendo os parâmetros de busca const redirectUrl = searchParams.get("redirect") ? searchParams.get("redirect") + (searchParams.get("params") ? `?${searchParams.get("params")}` : '') : "/sobre"; // Redireciona para /sobre se não houver valor - const router = useRouter(); const handleEmailChange = (e) => { const emailValue = e.target.value; setUserEmail(emailValue); - // Verifica se a primeira letra é maiúscula + // Verifica se a primeira letra é maiúscula if (emailValue.length > 0) { const firstLetter = emailValue.charAt(0); setIsFirstLetterUpperCase(firstLetter === firstLetter.toUpperCase()); diff --git a/src/app/handlers/loginHandler.js b/src/app/handlers/loginHandler.js index 72f45758..a7445782 100644 --- a/src/app/handlers/loginHandler.js +++ b/src/app/handlers/loginHandler.js @@ -56,11 +56,15 @@ export function logIn(email, password) { }) .then((response) => { const token = response.data['token']; - localStorage.setItem('token', token); - fetchUser(); + updateAccessToken(token); }); } +export async function updateAccessToken(token) { + localStorage.setItem('token', token); + await fetchUser(); +} + export function logOut() { localStorage.removeItem('token'); localStorage.removeItem('user_data'); -- GitLab