import React, { useEffect, useState } from "react"; import { Page } from "../lib/types"; import { fetchDashboardSummary, DashboardSummary } from "../lib/api"; interface Props { onNavigate: (page: Page) => void; } export function HomePage({ onNavigate }: Props) { const [dash, setDash] = useState(null); const [loading, setLoading] = useState(true); useEffect(() => { fetchDashboardSummary().then(d => { setDash(d); setLoading(false); }).catch(() => setLoading(false)); }, []); if (loading) return

🌊 欢迎回家

加载中...

; if (!dash) return

🌊 欢迎回家

无法连接频道仓库

; return

🌊 欢迎回到你的初始化频道

频道管家 · {dash.stewardName} {dash.stewardId} · {dash.stewardStatus}
上次同步:{dash.lastSync} · 永久记忆:{dash.hasMemoryPackage ? "✅ 已启用" : "⚠️ 未检测到"} · 仓库:{dash.repoConnected ? "✅ 已连接" : "❌ 未连接"}
{dash.receiptCount}
全部回执
{dash.completedWorkOrders}
已完成
{dash.activeWorkOrders}
进行中

快捷入口

onNavigate("plan")}>
📋
工单面板
创建 · 追踪 · 闭环
onNavigate("settings")}>
📦
模块商店
浏览 · 安装 · 管理
onNavigate("settings")}>
🧠
记忆健康
模型可换 · 记忆不丢

最近回执

{dash.recentReceipts.map(r => (
{r.id}
{r.result==="success"?"✅":"⚠️"}
{r.operation} · {r.operator}
{r.timestamp}
))}
; }