Optimize AuthRoute

This commit is contained in:
2024-01-23 09:36:57 +08:00
parent 12cdff377e
commit e2d2710823

View File

@@ -4,6 +4,7 @@ import { getLoginStatus, getVerifyStatus_async } from '@/util/auth'
import { Navigate } from 'react-router'
const AuthRoute = () => {
const [searchParams] = useSearchParams()
const matches = useMatches()
const lastMatch = matches.reduce((_, second) => second)
const handle = lastMatch.handle as RouteHandle
@@ -30,8 +31,12 @@ const AuthRoute = () => {
}
}
if (isLogin && ['/login', '/forget'].includes(lastMatch.pathname)) {
if (searchParams.has('redirect')) {
return <Navigate to={searchParams.get('redirect') ?? '/'} />
} else {
return <Navigate to={'/'} />
}
}
if (location.pathname.length > 1 && location.pathname.endsWith('/')) {
return <Navigate to={location.pathname.substring(0, location.pathname.length - 1)} />