import { useState } from 'react'; import { Layout, Tag, Spin } from '@douyinfe/semi-ui'; import { useDashboardData } from './hooks/useDashboardData'; import { ProductionBoard } from './pages/ProductionBoard'; import { WarehouseBoard } from './pages/WarehouseBoard'; import { LineModel } from './pages/LineModel'; import { ErrorRetry } from './components/ErrorRetry'; export function App() { const { data: dashboard, mode, error, retry } = useDashboardData(); const loading = !dashboard && !error; const [now, setNow] = useState(() => new Date()); // 时钟 setTimeout(() => setNow(new Date()), 1000); return (
{mode === 'sse' && 实时推送} {mode === 'polling' && 轮询刷新} {mode === 'demo' && 演示数据} {mode === 'init' && 连接中} {now.toLocaleTimeString('zh-CN')} {now.toLocaleDateString('zh-CN', { weekday: 'long' })}
{loading ? (
) : ( {dashboard ? (
) : (
等待产线数据…
)}
)}
); }