import { useState, useEffect } from 'react'; import { Navigate, Outlet } from 'react-router-dom'; import api from '../services/api'; export default function ProtectedRoute() { const token = localStorage.getItem('adminToken'); const [isValidating, setIsValidating] = useState(true); const [isValid, setIsValid] = useState(true); useEffect(() => { if (!token) { setIsValid(false); setIsValidating(false); return; } api.get('/users/profile') .then(() => { setIsValid(true); }) .catch(() => { localStorage.removeItem('adminToken'); setIsValid(false); }) .finally(() => { setIsValidating(false); }); }, [token]); if (!token || !isValid) { return ; } if (isValidating) { return (
); } return ; }