import React, { useState, useEffect } from 'react'; import { LoginPage } from './pages/LoginPage'; import { RegisterPage } from './pages/RegisterPage'; import { DevicesPage } from './pages/DevicesPage'; import { ConnectionsPage } from './pages/ConnectionsPage'; import { NodesPage } from './pages/NodesPage'; import { LogsPage } from './pages/LogsPage'; import { SettingsPage } from './pages/SettingsPage'; type Page = | 'login' | 'register' | 'devices' | 'connections' | 'nodes' | 'logs' | 'settings'; export function App() { const [currentPage, setCurrentPage] = useState('login'); const [isLoggedIn, setIsLoggedIn] = useState(false); const [user, setUser] = useState(null); useEffect(() => { // 检查是否已登录 window.electronAPI.getMe().then((res) => { if (res.success) { setIsLoggedIn(true); setUser(res.data); setCurrentPage('connections'); } }); }, []); if (!isLoggedIn) { if (currentPage === 'register') { return setCurrentPage('login')} />; } return ( { setIsLoggedIn(true); setUser(userData); setCurrentPage('connections'); }} onSwitchToRegister={() => setCurrentPage('register')} /> ); } const navItems: { page: Page; label: string }[] = [ { page: 'connections', label: '连接' }, { page: 'devices', label: '设备' }, { page: 'nodes', label: '节点' }, { page: 'logs', label: '日志' }, { page: 'settings', label: '设置' }, ]; return (
{currentPage === 'connections' && } {currentPage === 'devices' && } {currentPage === 'nodes' && } {currentPage === 'logs' && } {currentPage === 'settings' && }
); }