detectai-backend / frontend /src /components /ProtectedRoute.jsx
Jaya
Initial Deployment to Hugging Face Spaces
686b55b
Raw
History Blame Contribute Delete
699 Bytes
import React, { useContext } from 'react';
import { Navigate, useLocation } from 'react-router-dom';
import { AuthContext } from '../context/AuthContext';
const ProtectedRoute = ({ children }) => {
const { user, loading } = useContext(AuthContext);
const location = useLocation();
if (loading) {
return (
<div className="min-h-screen flex items-center justify-center">
<div className="animate-spin rounded-full h-12 w-12 border-b-2 border-blue-600"></div>
</div>
);
}
if (!user) {
return <Navigate to="/login" state={{ from: location }} replace />;
}
return children;
};
export default ProtectedRoute;