21 lines
447 B
React
21 lines
447 B
React
|
|
import React from 'react'
|
||
|
|
import { Navigate, Outlet } from 'react-router-dom'
|
||
|
|
import { useAuth } from '../contexts/AuthContext'
|
||
|
|
|
||
|
|
const ProtectedRoute = ({ children }) => {
|
||
|
|
const { isAuthenticated, loading } = useAuth()
|
||
|
|
|
||
|
|
if (loading) {
|
||
|
|
return <div>Загрузка...</div>
|
||
|
|
}
|
||
|
|
|
||
|
|
if (!isAuthenticated) {
|
||
|
|
return <Navigate to="/login" replace />
|
||
|
|
}
|
||
|
|
|
||
|
|
return children || <Outlet />
|
||
|
|
}
|
||
|
|
|
||
|
|
export default ProtectedRoute
|
||
|
|
|