import React, { useEffect, useState } from 'react'; import { BrowserRouter, Routes, Route, Navigate, useLocation, useNavigate } from 'react-router-dom'; import Login from './components/Login'; import './App.css'; // Protected Route wrapper function RequireAuth({ children }: { children: React.ReactElement }) { const [auth, setAuth] = useState(null); const location = useLocation(); useEffect(() => { fetch('/api/auth') .then((res) => { if (res.ok) { setAuth(true); } else { setAuth(false); } }) .catch(() => setAuth(false)); }, []); if (auth === null) { return
Loading...
; } if (!auth) { return ; } return children; } import FeedList from './components/FeedList'; import FeedItems from './components/FeedItems'; import Settings from './components/Settings'; function Dashboard() { const navigate = useNavigate(); const [sidebarVisible, setSidebarVisible] = useState(true); return (

setSidebarVisible(!sidebarVisible)} style={{ cursor: 'pointer' }}>🐱

} /> } /> } /> } />
); } function App() { return ( } /> } /> ); } export default App;