'use client'; import { useQuery } from '@tanstack/react-query'; import { ErrorState } from '@/components/feedback/error-state'; import { LoadingState } from '@/components/feedback/loading-state'; import { AppModal } from '@/components/ui/app-modal'; import { getConfigVersion } from '@/features/config-versions/api/config-versions'; import type { ConfigVersionSummary } from '@/features/config-versions/types'; import { CodeBlock, SecondaryButton, } from '@/features/shared/components/resource-primitives'; import { formatDateTime } from '@/lib/utils/date'; function getErrorMessage(error: unknown) { return error instanceof Error ? error.message : '请求失败,请稍后重试。'; } export function ConfigVersionSnapshotModal({ version, onClose, }: { version: ConfigVersionSummary | null; onClose: () => void; }) { const versionDetailQuery = useQuery({ queryKey: ['config-versions', 'detail', version?.id ?? 0], queryFn: () => { if (!version) { throw new Error('missing config version'); } return getConfigVersion(version.id); }, enabled: Boolean(version?.id), }); const versionDetail = versionDetailQuery.data ?? null; return ( 关闭 } > {!version ? null : versionDetailQuery.isLoading && !versionDetail ? ( ) : versionDetailQuery.isError ? ( ) : versionDetail ? (

Checksum

{versionDetail.checksum}

创建人

{versionDetail.created_by || '系统'}

创建时间

{formatDateTime(versionDetail.created_at)}

快照 JSON

{versionDetail.snapshot_json}

主配置

{versionDetail.main_config}

路由配置

{versionDetail.rendered_config}
) : null}
); }