/** * ConnectionPanel - SFTP 连接状态面板 * * 显示连接状态或连接选择界面 */ import { Monitor, AlertCircle, Loader2 } from 'lucide-react' import { ConnectionSelector } from './ConnectionSelector' import type { Session } from '../../../shared/types/session.types' interface ConnectionPanelProps { isConnected: boolean isConnecting: boolean error: string | null sessions: Session[] showSelector: boolean onConnect: (sessionId: string) => void onShowSelector: () => void onCloseSelector: () => void } export function ConnectionPanel({ isConnected, isConnecting, error, sessions, showSelector, onConnect, onShowSelector, onCloseSelector, }: ConnectionPanelProps) { // Connected State if (isConnected) { return (
已连接
) } // Connecting State if (isConnecting) { return (
连接中...
) } // Error State if (error) { return (
{error}
) } // Disconnected State return ( <>
未连接
{showSelector && ( )} ) }