import { useEffect, useState } from "react"; import { Navigate, Outlet } from "react-router-dom"; import clientRoutes from "@/clientRoutes"; import apiFetch from "@/lib/apiFetch"; export default function ProtectedRoute() { const [isAuthenticated, setIsAuthenticated] = useState(null); useEffect(() => { async function checkSession() { try { // backend otomatis baca cookie JWT dari request const res = await apiFetch.api.user.find.get(); setIsAuthenticated(res.status === 200); } catch { setIsAuthenticated(false); } } checkSession(); }, []); if (isAuthenticated === null) return null; // or loading spinner if (!isAuthenticated) return ; return ; }