You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
47 lines
1.9 KiB
47 lines
1.9 KiB
import { BrowserRouter, Routes, Route, Navigate } from 'react-router-dom'
|
|
import { AuthProvider } from './contexts/AuthContext'
|
|
import { ProtectedRoute } from './components/layout/ProtectedRoute'
|
|
import { MainLayout } from './components/layout/MainLayout'
|
|
import { LoginPage } from './pages/LoginPage'
|
|
import { SSOCallbackPage } from './pages/SSOCallbackPage'
|
|
import { DashboardPage } from './pages/DashboardPage'
|
|
import { UserManagementPage } from './pages/UserManagementPage'
|
|
import { SettingsPage } from './pages/SettingsPage'
|
|
import { FileManagementPage } from './pages/FileManagementPage'
|
|
import { MyPage } from './pages/MyPage'
|
|
import { MenuManagementPage } from './pages/MenuManagementPage'
|
|
import { RoleManagementPage } from './pages/RoleManagementPage'
|
|
import { OrganizationManagementPage } from './pages/OrganizationManagementPage'
|
|
|
|
function App() {
|
|
return (
|
|
<AuthProvider>
|
|
<BrowserRouter>
|
|
<Routes>
|
|
<Route path="/login" element={<LoginPage />} />
|
|
<Route path="/sso/callback" element={<SSOCallbackPage />} />
|
|
<Route
|
|
path="/"
|
|
element={
|
|
<ProtectedRoute>
|
|
<MainLayout />
|
|
</ProtectedRoute>
|
|
}
|
|
>
|
|
<Route index element={<Navigate to="/dashboard" replace />} />
|
|
<Route path="dashboard" element={<DashboardPage />} />
|
|
<Route path="users" element={<UserManagementPage />} />
|
|
<Route path="files" element={<FileManagementPage />} />
|
|
<Route path="my" element={<MyPage />} />
|
|
<Route path="menus" element={<MenuManagementPage />} />
|
|
<Route path="roles" element={<RoleManagementPage />} />
|
|
<Route path="organizations" element={<OrganizationManagementPage />} />
|
|
<Route path="settings" element={<SettingsPage />} />
|
|
</Route>
|
|
</Routes>
|
|
</BrowserRouter>
|
|
</AuthProvider>
|
|
)
|
|
}
|
|
|
|
export default App
|
|
|