blob: 32ac592677699f5d5a95460cee19ebef6dd1fc99 (
plain) (
tree)
|
|
import { Navigate } from "react-router";
import { useAuth } from "../contexts/AuthContext";
interface ProtectedRouteProps {
children: React.ReactNode;
}
export function ProtectedRoute({ children }: ProtectedRouteProps) {
const { isAuthenticated, isLoading, isAuthConfigured } = useAuth();
// Show loading state while checking auth
if (isLoading) {
return (
<div className="min-h-screen bg-black text-white flex items-center justify-center">
<div className="text-zinc-400">Loading...</div>
</div>
);
}
// If auth is configured but user is not authenticated, redirect to login
if (isAuthConfigured && !isAuthenticated) {
return <Navigate to="/login" replace />;
}
return <>{children}</>;
}
|