diff --git a/frontend/src/components/server/CloudServerImport.tsx b/frontend/src/components/server/CloudServerImport.tsx index 3d8f056..ffcb42d 100644 --- a/frontend/src/components/server/CloudServerImport.tsx +++ b/frontend/src/components/server/CloudServerImport.tsx @@ -1,6 +1,6 @@ import { useState, useEffect } from 'react'; import { Button } from '@/components/ui/button'; -import { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/card'; +import { Card, CardContent } from '@/components/ui/card'; import { Badge } from '@/components/ui/badge'; import { Checkbox } from '@/components/ui/checkbox'; import { @@ -8,6 +8,7 @@ import { DialogContent, DialogHeader, DialogTitle, + DialogDescription, DialogFooter, } from '@/components/ui/dialog'; import { @@ -82,8 +83,8 @@ export function CloudServerImport({ open, onClose }: CloudServerImportProps) { }; const handleServerToggle = (serverId: string) => { - setSelectedServers(prev => - prev.includes(serverId) + setSelectedServers(prev => + prev.includes(serverId) ? prev.filter(id => id !== serverId) : [...prev, serverId] ); @@ -98,7 +99,7 @@ export function CloudServerImport({ open, onClose }: CloudServerImportProps) { }; const handleImport = () => { - // Mock import action + // 云主机发现功能尚未实现,暂以空操作占位 setTimeout(() => { onClose(); setStep(1); @@ -124,9 +125,10 @@ export function CloudServerImport({ open, onClose }: CloudServerImportProps) { return ( - + 导入云主机 + 从云平台批量导入主机资产 {/* Step Indicator */} @@ -134,18 +136,18 @@ export function CloudServerImport({ open, onClose }: CloudServerImportProps) { {steps.map((s, index) => (
s.id - ? 'bg-emerald-600/20 text-emerald-400' - : 'bg-slate-800 text-slate-500' + step === s.id + ? 'bg-blue-600 text-white' + : step > s.id + ? 'bg-emerald-600/20 text-emerald-400' + : 'bg-[var(--dg-bg-secondary)] text-[var(--dg-text-muted)]' }`}> {s.title} {step > s.id && }
{index < steps.length - 1 && ( - + )}
))} @@ -154,15 +156,15 @@ export function CloudServerImport({ open, onClose }: CloudServerImportProps) { {/* Step 1: Select Cloud Provider */} {step === 1 && (
-

请选择要导入云主机的云平台

+

请选择要导入云主机的云平台

{cloudProviders.map((provider) => ( setSelectedProvider(provider.id)} > @@ -170,7 +172,7 @@ export function CloudServerImport({ open, onClose }: CloudServerImportProps) {
{provider.icon}
- {provider.name} + {provider.name}
))} @@ -182,13 +184,13 @@ export function CloudServerImport({ open, onClose }: CloudServerImportProps) { {step === 2 && (
-

请选择访问凭据(AccessKey)

-
- + {filteredAccounts.length > 0 ? (
{filteredAccounts.map((account) => ( @@ -196,8 +198,8 @@ export function CloudServerImport({ open, onClose }: CloudServerImportProps) { key={account.id} className={`cursor-pointer transition-all ${ selectedAccount === account.id - ? 'border-blue-500 ring-1 ring-blue-500/30 bg-slate-800' - : 'border-slate-700 hover:border-slate-600 bg-slate-800/50' + ? 'border-blue-500 ring-1 ring-blue-500/30 bg-[var(--dg-bg-secondary)]' + : 'border-[var(--dg-border)] hover:border-blue-500 bg-[var(--dg-bg-secondary)]' }`} onClick={() => setSelectedAccount(account.id)} > @@ -205,25 +207,25 @@ export function CloudServerImport({ open, onClose }: CloudServerImportProps) {
-

{account.name}

-

{(account.access_key || account.accessKey || '').slice(0, 20)}...

+

{account.name}

+

{(account.access_key || account.accessKey || '').slice(0, 20)}...

{account.region_count ?? account.regionCount ?? 0} 区域 -

{account.server_count ?? account.serverCount ?? 0} 服务器

+

{account.server_count ?? account.serverCount ?? 0} 服务器

))}
) : ( -
+

该云平台暂无有效的访问凭据

-
@@ -235,9 +237,9 @@ export function CloudServerImport({ open, onClose }: CloudServerImportProps) { {step === 3 && (
-

请选择要导入的云主机

+

请选择要导入的云主机

- @@ -249,41 +251,41 @@ export function CloudServerImport({ open, onClose }: CloudServerImportProps) { {isLoading ? (
-

正在获取云主机列表...

+

正在获取云主机列表...

) : ( -
+
- + - - - - - - - + + + + + + - + {cloudServers.length === 0 ? ( ) : ( cloudServers.map((server) => ( - - - - - + + + + +
+ 0} onCheckedChange={handleSelectAll} /> 实例ID主机名IP地址区域规格状态实例ID主机名IP地址区域规格状态
- -

暂无云主机

-

云主机发现功能尚未实现,请手动添加服务器

+ +

暂无云主机

+

云主机发现功能尚未实现,请手动添加服务器

handleServerToggle(server.id)} /> {server.name}{server.hostname}{server.ip}{server.region}{server.spec}{server.name}{server.hostname}{server.ip}{server.region}{server.spec}
{step > 1 && ( - )}
- {step < 3 ? ( - ) : ( - @@ -326,11 +326,11 @@ export function ExcelServerImport({ open, onClose }: ExcelServerImportProps) { {/* Region Selection */}
- +
{selectedFile && ( - +
-

{selectedFile.name}

-

{(selectedFile.size / 1024).toFixed(2)} KB

+

{selectedFile.name}

+

{(selectedFile.size / 1024).toFixed(2)} KB

-