diff --git a/packages/next/src/views/Logout/LogoutClient.tsx b/packages/next/src/views/Logout/LogoutClient.tsx index 6a74a32f65b..bf21e5c07a7 100644 --- a/packages/next/src/views/Logout/LogoutClient.tsx +++ b/packages/next/src/views/Logout/LogoutClient.tsx @@ -45,11 +45,10 @@ export const LogoutClient: React.FC<{ const [loginRoute] = React.useState(() => formatAdminURL({ adminRoute, - path: `/login${ - inactivity && redirect && redirect.length > 0 + path: `/login${inactivity && redirect && redirect.length > 0 ? `?redirect=${encodeURIComponent(redirect)}` : '' - }`, + }`, }), ) @@ -57,23 +56,23 @@ export const LogoutClient: React.FC<{ const router = useRouter() const handleLogOut = React.useCallback(async () => { - if (!inactivity && !navigatingToLoginRef.current) { + if (!navigatingToLoginRef.current) { navigatingToLoginRef.current = true await logOut() toast.success(t('authentication:loggedOutSuccessfully')) startRouteTransition(() => router.push(loginRoute)) return } - }, [inactivity, logOut, loginRoute, router, startRouteTransition, t]) + }, [logOut, loginRoute, router, startRouteTransition, t]) useEffect(() => { - if (isLoggedIn) { + if (isLoggedIn && !inactivity) { void handleLogOut() } else if (!navigatingToLoginRef.current) { navigatingToLoginRef.current = true startRouteTransition(() => router.push(loginRoute)) } - }, [handleLogOut, isLoggedIn, loginRoute, router, startRouteTransition]) + }, [handleLogOut, isLoggedIn, loginRoute, router, startRouteTransition, inactivity]) if (!isLoggedIn && inactivity) { return (