import { useEffect, useState } from "react"; import { Download, X } from "lucide-react"; import { checkUpdate, openExternal, type ReleaseInfo } from "../lib/version"; // 启动时查 GitHub Releases,有新版则在顶部显示一条可关闭的横幅,点击去下载页。 export function UpdateBanner() { const [rel, setRel] = useState(null); const [dismissed, setDismissed] = useState(false); useEffect(() => { let alive = true; void checkUpdate().then((r) => { if (alive) setRel(r); }); return () => { alive = false; }; }, []); if (!rel || dismissed) return null; return (
新版本 v{rel.version} 可用
); }