Implement modern file manager with drag-and-drop interface

Major UI/UX improvements to replace clunky sidebar with modern grid layout:

- Add FileManagerModern component with grid-based file browser
- Implement drag-and-drop file upload with validation and progress
- Add comprehensive context menu with file operations (copy/cut/paste/delete)
- Create intelligent file selection system with multi-select support
- Add modern toolbar with search, view switching, and file operations
- Integrate seamless view switching between classic and modern interfaces
- Support keyboard shortcuts and accessibility features
- Add complete i18n support for all new interface elements

Technical components:
- FileManagerGrid: Grid layout with breadcrumb navigation
- FileManagerContextMenu: Right-click context menu system
- useFileSelection: Hook for managing file selection state
- useDragAndDrop: Hook for handling drag-and-drop operations
- View switching logic integrated into main FileManager component

The modern interface is now the default while maintaining backward compatibility.
Users can switch between modern and classic views seamlessly.
This commit is contained in:
ZacharyZcR
2025-09-16 15:36:39 +08:00
parent 957bc5e41b
commit 49e7159939
8 changed files with 1540 additions and 1 deletions

View File

@@ -642,6 +642,33 @@
"folderCreatedSuccessfully": "文件夹 \"{{name}}\" 创建成功",
"failedToCreateFolder": "创建文件夹失败",
"itemDeletedSuccessfully": "{{type}}删除成功",
"itemsDeletedSuccessfully": "{{count}} 个项目删除成功",
"failedToDeleteItems": "删除项目失败",
"dragFilesToUpload": "拖拽文件到这里上传",
"emptyFolder": "此文件夹为空",
"itemCount": "{{count}} 个项目",
"selectedCount": "已选择 {{count}} 个",
"searchFiles": "搜索文件...",
"upload": "上传",
"selectHostToStart": "选择主机开始文件管理",
"failedToConnect": "连接SSH失败",
"failedToLoadDirectory": "加载目录失败",
"noSSHConnection": "无SSH连接可用",
"enterFolderName": "输入文件夹名称:",
"enterFileName": "输入文件名称:",
"copy": "复制",
"cut": "剪切",
"paste": "粘贴",
"delete": "删除",
"properties": "属性",
"preview": "预览",
"refresh": "刷新",
"downloadFiles": "下载 {{count}} 个文件",
"copyFiles": "复制 {{count}} 个项目",
"cutFiles": "剪切 {{count}} 个项目",
"deleteFiles": "删除 {{count}} 个项目",
"filesCopiedToClipboard": "{{count}} 个项目已复制到剪贴板",
"filesCutToClipboard": "{{count}} 个项目已剪切到剪贴板",
"failedToDeleteItem": "删除项目失败",
"itemRenamedSuccessfully": "{{type}}重命名成功",
"failedToRenameItem": "重命名项目失败",