import { BrowserRouter as Router, Routes, Route, Outlet, useLocation, useNavigate } from "react-router-dom"; import {useEffect, useState } from "react"; import { ToastContainer } from "react-toastify"; import { argbFromHex, themeFromSourceColor, applyTheme, } from "@material/material-color-utilities"; import { AuthProvider } from "./auth/auth-provider" import ping from "./auth/ping"; import useAuth from "./auth/auth"; import Login from "./pages/login/login" import Register from "./pages/register/register" import Home from "./pages/home/home" import Dashboard from "./pages/dashboard/dashboard" import Users from "./pages/users/users"; import Groups from "./pages/groups/groups"; import Feeds from "./pages/feeds/feeds"; import Pictures from "./pages/pictures/pictures"; import Account from "./pages/acccount/account"; import Settings from "./pages/settings/settings" const PrivateRoute = () => { const { token, loading } = useAuth(); const navigate = useNavigate(); const location = useLocation(); const [checked, setChecked] = useState(false); const [isValid, setIsValid] = useState(false); useEffect(() => { const checkAuth = async () => { if (!token) { setIsValid(false); setChecked(true); return; } const result = await ping(token); setIsValid(result); setChecked(true); }; if (!loading) { checkAuth(); } }, [token, loading]); if (loading || !checked) { return