// entrypoints/popup/App.tsx import { useState, useEffect } from 'react'; import { HashRouter as Router, Routes, Route, Navigate } from 'react-router-dom'; import { Link, useNavigate } from 'react-router-dom'; import './App.css'; import '../../assets/tailwind.css' // import '@alifd/next/dist/next.css'; // import BtnTest from './src/Components/BtnTest.jsx' // import Home from './pages/Home' // import About from './pages/About' import Login from './pages/Login' // 创建一个保护路由组件 function ProtectedRoute({ children }: { children: React.ReactNode }) { const isLoggedIn = localStorage.getItem('isLoggedIn'); return isLoggedIn ? <>{children} : ; } // 创建带登出功能的导航组件 function Navigation({ onLogout }: { onLogout: () => void }) { const navigate = useNavigate(); const handleLogout = () => { onLogout(); navigate('/login'); }; return ( ); } function App() { const [count, setCount] = useState(0); const [isLoggedIn, setIsLoggedIn] = useState(false); // 检查登录状态 useEffect(() => { const loggedIn = localStorage.getItem('isLoggedIn') === 'true'; setIsLoggedIn(loggedIn); }, []); // 处理登出逻辑 const handleLogout = () => { localStorage.removeItem('isLoggedIn'); localStorage.removeItem('access_token'); setIsLoggedIn(false); }; return ( {/* 只在登录后显示导航栏 */} {isLoggedIn && } } />
} /> {/* } /> } /> */}
); } export default App;