"use client"; import { useState, useCallback } from 'react'; import { Button } from '@/components/ui/button'; import { Input } from '@/components/ui/input'; import { Card, CardContent, CardDescription, CardHeader, CardTitle } from '@/components/ui/card'; import { Progress } from '@/components/ui/progress'; import { Download, FileText, Image, Video, Music, Archive } from 'lucide-react'; import { FileInfo, TransferProgress } from '@/types'; interface FileReceiveProps { onJoinRoom: (code: string) => void; files: FileInfo[]; onDownloadFile: (fileId: string) => void; transferProgresses: TransferProgress[]; isConnected: boolean; isConnecting: boolean; } const getFileIcon = (mimeType: string) => { if (mimeType.startsWith('image/')) return ; if (mimeType.startsWith('video/')) return