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
+}