// DeploymentOverview.tsx — Deployment 详情头部、状态与操作区 // Logan.Li import { ArrowLeft, Minus, Plus, RotateCw, Upload, RefreshCw, Loader2, } from 'lucide-react'; import { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/card'; import { Button } from '@/components/ui/button'; import { Input } from '@/components/ui/input'; import { Badge } from '@/components/ui/badge'; import { CreateHPADialog } from './CreateHPADialog'; import type { JsonData } from '@/types/common'; import { useTranslation } from 'react-i18next'; export interface DeploymentOverviewProps { deploymentName: string; namespace: string; deployment?: JsonData; hpas: JsonData[]; clusterCode: string; ready: number; total: number; available: number; isHealthy: boolean; actionLoading: string; newImage: string; showImageUpdate: boolean; onBack: () => void; onRefresh: () => void; onScale: (delta: number) => void; onRestart: () => void; onNewImageChange: (value: string) => void; onToggleImageUpdate: () => void; onUpdateImage: () => void; } export function DeploymentOverview({ deploymentName, namespace, deployment, hpas, clusterCode, ready, total, available, isHealthy, actionLoading, newImage, showImageUpdate, onBack, onRefresh, onScale, onRestart, onNewImageChange, onToggleImageUpdate, onUpdateImage, }: DeploymentOverviewProps) { const { t } = useTranslation(); return ( <>
镜像: {deployment.image || '-'}
{t('kubernetes.deploymentoverview.sb4cac1')}
{ready}/{total}
{t('k8s.column.availableReplicas')}
{available}
{t('k8s.column.image')}
{deployment.image?.split('/').pop() || '-'}
HPA
{hpas.length > 0 ? ({t('alert.enabled')}
) : ({t('k8s.dnsHost.notConfigured')}