Files
glass/src/admin/auth/ProtectedRoute.jsx
T

28 lines
670 B
React

import React from 'react';
import { Navigate, Outlet, useLocation } from 'react-router-dom';
import { useAuth } from './useAuth';
const ProtectedRoute = () => {
const { session, loading } = useAuth();
const location = useLocation();
if (loading) {
return (
<div style={{
display: 'flex', justifyContent: 'center', alignItems: 'center',
height: '100vh', fontFamily: 'var(--font-heading)', color: 'var(--text-muted)',
}}>
Загрузка...
</div>
);
}
if (!session) {
return <Navigate to="/admin/login" state={{ from: location }} replace />;
}
return <Outlet />;
};
export default ProtectedRoute;