"use client"; import type { CSSProperties } from "react"; import { Modal, Tag, Timeline } from "antd"; import { useVersionCheck } from "@/hooks/use-version-check"; import { APP_VERSION } from "@/constant/env"; function getTagColor(type: string) { if (type === "新增") return "green"; if (type === "修复") return "red"; if (type === "调整") return "blue"; if (type === "文档") return "purple"; return "default"; } function getReleaseTitle(version: string) { return version === "Unreleased" ? "未发布" : version; } type VersionReleaseModalProps = { className?: string; style?: CSSProperties; }; export function VersionReleaseModal({ className, style }: VersionReleaseModalProps) { const { open, setOpen, openReleaseModal, latestVersion, releases, checking, hasNewVersion, checkLatestRelease } = useVersionCheck(); return ( <> {APP_VERSION} {hasNewVersion ? : null} setOpen(false)} > 当前版本 {APP_VERSION} 最新版本 void checkLatestRelease(true)} > {checking ? "检查中..." : "检查更新"} {latestVersion} ({ content: ( {getReleaseTitle(release.version)} {release.date} {release.version === latestVersion ? 最新 : null} {release.version === APP_VERSION ? 当前 : null} {release.items.map((item, index) => ( {item.type} {item.content} ))} ), }))} /> > ); }