import { invoke } from '@tauri-apps/api/tauri'; import { open } from '@tauri-apps/api/dialog'; import { useState } from 'react'; interface FileOperationsProps { currentPath: string; onRefresh: () => void; } export function FileOperations({ currentPath, onRefresh }: FileOperationsProps) { const [uploadProgress, setUploadProgress] = useState(0); const handleUpload = async () => { try { const selected = await open({ multiple: false, directory: false, }); if (selected) { const filePath = Array.isArray(selected) ? selected[0] : selected; await invoke('upload_file', { srcPath: filePath, destPath: currentPath, onProgress: (progress: number) => setUploadProgress(progress) }); onRefresh(); alert('File uploaded successfully!'); } } catch (error) { console.error('Upload failed:', error); alert('Upload failed!'); } finally { setUploadProgress(0); } }; const createFolder = async () => { const folderName = prompt('Enter folder name:'); if (folderName) { try { await invoke('create_folder', { path: currentPath, name: folderName }); onRefresh(); } catch (error) { console.error('Error creating folder:', error); alert('Failed to create folder'); } } }; return (