From 4f1e69c711d7b2d79f50ea47f2f0bc565ecf838f Mon Sep 17 00:00:00 2001 From: MartinBraquet Date: Thu, 9 Apr 2026 13:23:55 +0200 Subject: [PATCH] Replace `usePromptSigninIfSignedOut` with `useRedirectIfSignedOut` for streamlined signin handling and remove the unused hook --- web/hooks/use-prompt-signin-if-signed-out.ts | 19 ------------------- web/hooks/use-redirect-if-signed-out.ts | 7 ++++--- web/pages/settings.tsx | 4 ++-- 3 files changed, 6 insertions(+), 24 deletions(-) delete mode 100644 web/hooks/use-prompt-signin-if-signed-out.ts diff --git a/web/hooks/use-prompt-signin-if-signed-out.ts b/web/hooks/use-prompt-signin-if-signed-out.ts deleted file mode 100644 index bdc2a781..00000000 --- a/web/hooks/use-prompt-signin-if-signed-out.ts +++ /dev/null @@ -1,19 +0,0 @@ -import {useRouter} from 'next/router' -import {useEffect} from 'react' - -import {useUser} from './use-user' - -/** - * Redirects to signin page with a prompt message if user is signed out. - * This shows a friendly "Please sign in" message instead of silently redirecting. - */ -export const usePromptSigninIfSignedOut = (href?: string) => { - const user = useUser() - const router = useRouter() - useEffect(() => { - if (user !== null) return - console.log(router, router.asPath) - const redirect = href ?? router.asPath - router.replace(`/signin?redirect=${redirect}`) - }, [user]) -} diff --git a/web/hooks/use-redirect-if-signed-out.ts b/web/hooks/use-redirect-if-signed-out.ts index bb498439..158b07a3 100644 --- a/web/hooks/use-redirect-if-signed-out.ts +++ b/web/hooks/use-redirect-if-signed-out.ts @@ -1,13 +1,14 @@ -import {useRouter} from 'next/navigation' +import {useRouter} from 'next/router' import {useEffect} from 'react' import {useUser} from './use-user' -export const useRedirectIfSignedOut = () => { +export const useRedirectIfSignedOut = (redirect?: string) => { const user = useUser() const router = useRouter() useEffect(() => { if (user !== null) return - else router.replace('/') + console.log(router, router.asPath) + router.replace(`/signin?redirect=${redirect ?? router.asPath}`) }, [user]) } diff --git a/web/pages/settings.tsx b/web/pages/settings.tsx index 4dc3a985..092ab9d0 100644 --- a/web/pages/settings.tsx +++ b/web/pages/settings.tsx @@ -22,7 +22,7 @@ import {WithPrivateUser} from 'web/components/user/with-user' import {Input} from 'web/components/widgets/input' import {Title} from 'web/components/widgets/title' import {useFirebaseUser} from 'web/hooks/use-firebase-user' -import {usePromptSigninIfSignedOut} from 'web/hooks/use-prompt-signin-if-signed-out' +import {useRedirectIfSignedOut} from 'web/hooks/use-redirect-if-signed-out' import {useUser} from 'web/hooks/use-user' import {api} from 'web/lib/api' import {sendPasswordReset} from 'web/lib/firebase/password' @@ -31,7 +31,7 @@ import {isNativeMobile} from 'web/lib/util/webview' export default function SettingsPage() { const t = useT() - usePromptSigninIfSignedOut() + useRedirectIfSignedOut() return (