Replace usePromptSigninIfSignedOut with useRedirectIfSignedOut for streamlined signin handling and remove the unused hook

This commit is contained in:
MartinBraquet
2026-04-09 13:23:55 +02:00
parent 9965f4faf0
commit 4f1e69c711
3 changed files with 6 additions and 24 deletions

View File

@@ -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])
}

View File

@@ -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])
}

View File

@@ -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 (
<PageBase trackPageView={'settings page'} className={'mx-4 mb-4'}>
<NoSEO title={t('settings.title', 'Settings')} />