import { useEffect } from 'react'; import { BrowserRouter, Routes, Route } from 'react-router-dom'; import axios from 'axios'; import { useAuthStore } from './stores/authStore'; import { HomePage } from './pages/HomePage'; import { ArticlePage } from './pages/ArticlePage'; import { AdminPage } from './pages/AdminPage'; import { LoginPage } from './pages/LoginPage'; import { UserManagementPage } from './pages/UserManagementPage'; import { SearchPage } from './pages/SearchPage'; import { BookmarksPage } from './pages/BookmarksPage'; import { Footer } from './components/Footer'; import { AuthGuard } from './components/AuthGuard'; function App() { const { setUser, setLoading } = useAuthStore(); useEffect(() => { const token = localStorage.getItem('token'); if (token) { setLoading(true); axios.get('http://localhost:5000/api/auth/me', { headers: { Authorization: `Bearer ${token}` } }) .then(response => { setUser(response.data); }) .catch(() => { localStorage.removeItem('token'); setUser(null); }) .finally(() => { setLoading(false); }); } else { setLoading(false); } }, [setUser, setLoading]); return (
} /> } /> } /> } /> } /> } /> } />
); } export default App;