import React from 'react'; import { Routes, Route } from 'react-router-dom'; import { Layout, Menu, Typography } from 'antd'; import { DashboardOutlined, SettingOutlined, BarChartOutlined } from '@ant-design/icons'; import Dashboard from './components/Dashboard'; import SystemMetrics from './components/SystemMetrics'; import Settings from './components/Settings'; import OfflineMode from './components/OfflineMode'; import ErrorBoundary from './components/common/ErrorBoundary'; import { useServiceStatus } from './hooks/useServiceStatus'; import './App.css'; const { Header, Sider, Content } = Layout; const { Title } = Typography; function App() { const serviceStatus = useServiceStatus(); const handleRetry = () => { window.location.reload(); }; return (
LabFusion
, label: 'Dashboard', }, { key: 'metrics', icon: , label: 'System Metrics', }, { key: 'settings', icon: , label: 'Settings', }, ]} />
Homelab Dashboard
{serviceStatus.overall === 'offline' && ( )} } /> } /> } /> } />
); } export default App;