Commit 3a876d6f by 乾L Committed by GitHub

fix(web): redirect authenticated users away from sign-up page (#5910)

The sign-in route already redirects logged-in users to /dashboard in its
beforeLoad guard, but the sign-up route (and its /register alias) had no
such guard, leaving authenticated users on the registration form. This
mirrors the classic theme's AuthRedirect behavior. Add an equivalent
beforeLoad guard using the same useAuthStore, redirecting to /dashboard
for consistency with the sign-in route.

Closes #5908

Co-authored-by: 贺. <kuang@M1.local>
parent df087b02
...@@ -16,10 +16,19 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. ...@@ -16,10 +16,19 @@ along with this program. If not, see <https://www.gnu.org/licenses/>.
For commercial licensing, please contact support@quantumnous.com For commercial licensing, please contact support@quantumnous.com
*/ */
import { createFileRoute } from '@tanstack/react-router' import { createFileRoute, redirect } from '@tanstack/react-router'
import { SignUp } from '@/features/auth/sign-up' import { SignUp } from '@/features/auth/sign-up'
import { useAuthStore } from '@/stores/auth-store'
export const Route = createFileRoute('/(auth)/sign-up')({ export const Route = createFileRoute('/(auth)/sign-up')({
component: SignUp, component: SignUp,
beforeLoad: async () => {
const { auth } = useAuthStore.getState()
// 如果已经有用户信息,说明已登录,注册页对其无意义,跳转到 dashboard
if (auth.user) {
throw redirect({ to: '/dashboard' })
}
},
}) })
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment