import { api } from "../api.js";
import {
emptyState, cover, sectionHeader, videoCard,
} from "../components.js";
import {
escapeHtml, formatCount, formatDate, formatDelta, formatDateTime,
formatPercent, formatScore,
} from "../format.js";
function statChip(label, value, tone = "") {
return `
首次导入共 ${formatCount(overview.initial_import_count)} 条,
按发布时间倒序展示。后续每日增量从下一次快照开始。
`
: `
最新动态
数据 ${escapeHtml(overview.data_date || "—")} ·
采集 ${health.ok}/${health.total}${health.failed ? ` · 失败 ${health.failed}` : ""}
${statChip(firstDay ? "首次导入" : "今日入库", escapeHtml(addedLabel), "accent")}
${statChip("播放增量", overview.view_delta_available ? formatDelta(overview.view_delta) : "—")}
${statChip("粉丝日增", fans?.delta_1d === null || fans?.delta_1d === undefined ? "—" : formatDelta(fans.delta_1d))}
${statChip("待确认候选", formatCount(pending), pending ? "warning" : "")}
${pending ? `
${formatCount(pending)} 条候选待确认
请在 Telegram 中处理 →
` : ""}
${addedNote}
${added.items.length ? added.items.map((item) => videoCard(item)).join("")
: emptyState("最近 7 天没有新入库视频", "搜索发现确认或 Telegram 私聊手动入库后会出现在这里。")}
按视频发布时间排序,与入库时间无关。
${published.items.length ? published.items.map((item) => videoCard(item)).join("")
: emptyState("最近 14 天没有新发布视频", "搜索发现的新视频会逐步补充。")}
${growth.available && growth.items.length
? `${growth.items.map((item, index) => videoCard(item, { rank: index + 1 })).join("")}
`
: emptyState("需要至少 2 天快照", growth.reason || "当前只有 1 个数据点,明天开始显示播放增量。")}
${capacity(overview.folders || [])}
${sectionHeader("采集状态")}
快照完成${overview.snapshot_completed_today ? "是" : "否"}
数据日期${escapeHtml(overview.data_date || "—")}
粉丝${formatCount(fans?.follower)}
7 日粉丝${fans?.delta_7d === null || fans?.delta_7d === undefined ? "—" : formatDelta(fans.delta_7d)}
最近快照${escapeHtml(formatDateTime(overview.tasks?.snapshot?.finished_at))}
最近发现${escapeHtml(formatDateTime(overview.tasks?.discovery?.finished_at))}
查看系统状态 →
`;
root.querySelector("#refresh-home")?.addEventListener("click", () => window.location.reload());
}