sto-k-odnomu/admin/src/App.tsx
2026-01-10 00:36:49 +03:00

47 lines
1.5 KiB
TypeScript

import { Routes, Route, Navigate } from 'react-router-dom'
import { useAuthStore } from '@/stores/authStore'
import LoginPage from '@/pages/LoginPage'
import DashboardPage from '@/pages/DashboardPage'
import PacksPage from '@/pages/PacksPage'
import UsersPage from '@/pages/UsersPage'
import ThemesPage from '@/pages/ThemesPage'
import RoomsPage from '@/pages/RoomsPage'
import Layout from '@/components/layout/Layout'
import { TokenRefreshProvider } from '@/components/TokenRefreshProvider'
function App() {
const { isAuthenticated } = useAuthStore()
return (
<TokenRefreshProvider>
<div className="min-h-screen bg-background">
<Routes>
<Route
path="/login"
element={isAuthenticated ? <Navigate to="/" replace /> : <LoginPage />}
/>
<Route
path="/*"
element={
isAuthenticated ? (
<Layout>
<Routes>
<Route path="/" element={<DashboardPage />} />
<Route path="/packs" element={<PacksPage />} />
<Route path="/users" element={<UsersPage />} />
<Route path="/themes" element={<ThemesPage />} />
<Route path="/rooms" element={<RoomsPage />} />
</Routes>
</Layout>
) : (
<Navigate to="/login" replace />
)
}
/>
</Routes>
</div>
</TokenRefreshProvider>
)
}
export default App