diff --git a/frontend/src/App.tsx b/frontend/src/App.tsx index e91309e..cfb4ee9 100644 --- a/frontend/src/App.tsx +++ b/frontend/src/App.tsx @@ -1,19 +1,27 @@ import { Navigate, Route, Routes } from 'react-router-dom' import { useAppSelector } from './store/hooks' +import AppShell from './components/AppShell' import LoginPage from './pages/usr/LoginPage' +import MainPage from './pages/MainPage' import UserListPage from './pages/usr/UserListPage' +import UserDetailPage from './pages/usr/UserDetailPage' -function PrivateRoute({ children }: { children: React.ReactNode }) { +function AuthenticatedShell() { const accessToken = useAppSelector(s => s.auth.accessToken) - return accessToken ? <>{children} : + if (!accessToken) return + return } export default function App() { return ( } /> -
主页(待实现)
} /> - } /> + }> + } /> + } /> + } /> + } /> + } />
) diff --git a/frontend/src/pages/MainPage.tsx b/frontend/src/pages/MainPage.tsx new file mode 100644 index 0000000..3329647 --- /dev/null +++ b/frontend/src/pages/MainPage.tsx @@ -0,0 +1,16 @@ +import { useEffect } from 'react' +import { useAppDispatch } from '../store/hooks' +import { activateTab } from '../store/slices/tabsSlice' + +export default function MainPage() { + const dispatch = useAppDispatch() + useEffect(() => { + dispatch(activateTab('main')) + }, [dispatch]) + + return ( +
+ 主页(功能待实现) +
+ ) +} diff --git a/frontend/src/pages/usr/UserDetailPage.tsx b/frontend/src/pages/usr/UserDetailPage.tsx new file mode 100644 index 0000000..63478f1 --- /dev/null +++ b/frontend/src/pages/usr/UserDetailPage.tsx @@ -0,0 +1,3 @@ +export default function UserDetailPage() { + return null +}