/
aliyyyada
/
FrontendAdminPanel
Обзор
Документация
Войти
/
aliyyyada
/
FrontendAdminPanel
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
src/App.jsx
57 строк
2 KB
Алина
initial commit
15 июн 2026, 18:49
15 июн 2026, 18:49
7512c1b
Код
Авторство
О чём код?
import React from 'react'; import { BrowserRouter, Routes, Route, Navigate } from 'react-router-dom'; import { AuthProvider, useAuth } from './hooks/useAuth'; import { ProtectedRoute } from './components/common/ProtectedRoute'; import LoginPage from './pages/auth/LoginPage'; import RegisterPage from './pages/auth/RegisterPage'; import VerifyPage from './pages/auth/VerifyPage'; import ForgotPasswordPage from './pages/auth/ForgotPasswordPage'; import ResetPasswordPage from './pages/auth/ResetPasswordPage'; import InstructorPage from './pages/instructor/InstructorPage'; import AdminPage from './pages/admin/AdminPage'; import './styles/global.css'; function HomeRedirect() { const { user } = useAuth(); if (!user) return <Navigate to="/login" replace />; if (user.role === 'admin') return <Navigate to="/admin" replace />; return <Navigate to="/instructor" replace />; } export default function App() { return ( <AuthProvider> <BrowserRouter> <Routes> <Route path="/login" element={<LoginPage />} /> <Route path="/register" element={<RegisterPage />} /> <Route path="/verify" element={<VerifyPage />} /> <Route path="/forgot-password" element={<ForgotPasswordPage />} /> <Route path="/reset-password" element={<ResetPasswordPage />} /> <Route path="/instructor" element={ <ProtectedRoute role="instructor"> <InstructorPage /> </ProtectedRoute> } /> <Route path="/instructor/*" element={<Navigate to="/instructor" replace />} /> <Route path="/admin" element={ <ProtectedRoute role="admin"> <AdminPage /> </ProtectedRoute> } /> <Route path="/" element={<HomeRedirect />} /> <Route path="*" element={<HomeRedirect />} /> </Routes> </BrowserRouter> </AuthProvider> ); }