diff --git a/frontend/src/pages/continue-page.tsx b/frontend/src/pages/continue-page.tsx index f5a4d3b..efcf220 100644 --- a/frontend/src/pages/continue-page.tsx +++ b/frontend/src/pages/continue-page.tsx @@ -83,7 +83,7 @@ export const ContinuePage = () => { if (!isLoggedIn) { return ( ); diff --git a/frontend/src/pages/login-page.tsx b/frontend/src/pages/login-page.tsx index d6aac90..067231b 100644 --- a/frontend/src/pages/login-page.tsx +++ b/frontend/src/pages/login-page.tsx @@ -76,7 +76,7 @@ export const LoginPage = () => { } = useMutation({ mutationFn: (provider: string) => axios.get( - `/api/oauth/url/${provider}${props.redirect_uri && `?redirect_uri=${encodeURIComponent(props.redirect_uri)}`}`, + `/api/oauth/url/${provider}${props.redirect_uri ? `?redirect_uri=${encodeURIComponent(props.redirect_uri)}` : ""}`, ), mutationKey: ["oauth"], onSuccess: (data) => { @@ -108,7 +108,7 @@ export const LoginPage = () => { onSuccess: (data) => { if (data.data.totpPending) { window.location.replace( - `/totp${props.redirect_uri && `?redirect_uri=${encodeURIComponent(props.redirect_uri)}`}`, + `/totp${props.redirect_uri ? `?redirect_uri=${encodeURIComponent(props.redirect_uri)}` : ""}`, ); return; } @@ -123,7 +123,7 @@ export const LoginPage = () => { return; } window.location.replace( - `/continue${props.redirect_uri && `?redirect_uri=${encodeURIComponent(props.redirect_uri)}`}`, + `/continue${props.redirect_uri ? `?redirect_uri=${encodeURIComponent(props.redirect_uri)}` : ""}`, ); }, 500); }, @@ -157,13 +157,15 @@ export const LoginPage = () => { ]); useEffect(() => { - if (redirectTimer.current) { - clearTimeout(redirectTimer.current); - } + return () => { + if (redirectTimer.current) { + clearTimeout(redirectTimer.current); + } - if (redirectButtonTimer.current) { - clearTimeout(redirectButtonTimer.current); - } + if (redirectButtonTimer.current) { + clearTimeout(redirectButtonTimer.current); + } + }; }, [redirectTimer, redirectButtonTimer]); if (isLoggedIn && isOidc) { @@ -173,7 +175,7 @@ export const LoginPage = () => { if (isLoggedIn && props.redirect_uri !== "") { return ( ); diff --git a/frontend/src/pages/logout-page.tsx b/frontend/src/pages/logout-page.tsx index 6564278..2709ac6 100644 --- a/frontend/src/pages/logout-page.tsx +++ b/frontend/src/pages/logout-page.tsx @@ -40,7 +40,11 @@ export const LogoutPage = () => { }); useEffect(() => { - if (redirectTimer.current) clearTimeout(redirectTimer.current); + return () => { + if (redirectTimer.current) { + clearTimeout(redirectTimer.current); + } + }; }, [redirectTimer]); if (!isLoggedIn) { diff --git a/frontend/src/pages/totp-page.tsx b/frontend/src/pages/totp-page.tsx index 27f9680..b0fc44c 100644 --- a/frontend/src/pages/totp-page.tsx +++ b/frontend/src/pages/totp-page.tsx @@ -48,7 +48,7 @@ export const TotpPage = () => { } window.location.replace( - `/continue${props.redirect_uri && `?redirect_uri=${encodeURIComponent(props.redirect_uri)}`}`, + `/continue${props.redirect_uri ? `?redirect_uri=${encodeURIComponent(props.redirect_uri)}` : ""}`, ); }, 500); }, @@ -60,7 +60,11 @@ export const TotpPage = () => { }); useEffect(() => { - if (redirectTimer.current) clearTimeout(redirectTimer.current); + return () => { + if (redirectTimer.current) { + clearTimeout(redirectTimer.current); + } + }; }, [redirectTimer]); if (!totpPending) {