// src/layouts/Auth.js
import React from 'react';
import { Routes, Route, Navigate } from 'react-router-dom';
import { Box } from '@chakra-ui/react';
import { useAuth } from '../contexts/AuthContext';
import ErrorBoundary from '../components/ErrorBoundary';
// 导入认证相关页面
import SignInIllustration from '../views/Authentication/SignIn/SignInIllustration';
import SignUpIllustration from '../views/Authentication/SignUp/SignUpIllustration';
// 认证路由组件 - 已登录用户不能访问登录页
const AuthRoute = ({ children }) => {
const { isAuthenticated, isLoading } = useAuth();
// 加载中不做跳转
if (isLoading) {
return children;
}
// 已登录用户跳转到首页
if (isAuthenticated) {
// 检查是否有记录的重定向路径
const redirectPath = localStorage.getItem('redirectPath');
if (redirectPath && redirectPath !== '/auth/signin' && redirectPath !== '/auth/sign-up') {
localStorage.removeItem('redirectPath');
return ;
}
return ;
}
return children;
};
export default function Auth() {
return (
{/* 登录页面 */}
}
/>
{/* 注册页面 */}
}
/>
{/* 默认重定向到登录页 */}
} />
} />
);
}