"use client"; import { ConnectionStatus } from '@/components/ConnectionStatus'; import { Button } from '@/components/ui/button'; import { Input } from '@/components/ui/input'; import { useToast } from '@/components/ui/toast-simple'; import { useReadConnectState } from '@/hooks/connection/state/useWebConnectStateManager'; import { TransferProgressTracker } from '@/lib/transfer-utils'; import { Archive, Clock, Download, FileText, Image, Music, Video, Zap } from 'lucide-react'; import React, { useCallback, useRef, useState } from 'react'; interface FileInfo { id: string; name: string; size: number; type: string; status: 'ready' | 'downloading' | 'completed'; progress: number; transferSpeed?: number; // bytes per second startTime?: number; // 传输开始时间 } const getFileIcon = (mimeType: string) => { if (mimeType.startsWith('image/')) return ; if (mimeType.startsWith('video/')) return