import { ChonkyIconName } from '../types/icons.types'; import { FileHelper } from '../util/file-helper'; import { defineFileAction } from '../util/helpers'; export const ExtraActions = { /** * Action that adds a button and shortcut to copy files. */ CopyFiles: defineFileAction({ id: 'copy_files', requiresSelection: true, hotkeys: ['ctrl+c'], button: { name: 'Copy selection', toolbar: true, contextMenu: true, group: 'Actions', icon: ChonkyIconName.copy, }, } as const), /** * Action that adds a button to create a new folder. */ CreateFolder: defineFileAction({ id: 'create_folder', button: { name: 'Create folder', toolbar: true, tooltip: 'Create a folder', icon: ChonkyIconName.folderCreate, }, } as const), /** * Action that adds a button to upload files. */ UploadFiles: defineFileAction({ id: 'upload_files', button: { name: 'Upload files', toolbar: true, tooltip: 'Upload files', icon: ChonkyIconName.upload, }, } as const), /** * Action that adds a button to download files. */ DownloadFiles: defineFileAction({ id: 'download_files', requiresSelection: true, button: { name: 'Download files', toolbar: true, contextMenu: true, group: 'Actions', icon: ChonkyIconName.download, }, } as const), /** * Action that adds a button and shortcut to delete files. */ DeleteFiles: defineFileAction({ id: 'delete_files', requiresSelection: true, fileFilter: FileHelper.isNotDirectory, hotkeys: ['delete'], button: { name: 'Delete file(s)', toolbar: true, contextMenu: true, group: 'Actions', icon: ChonkyIconName.trash, }, } as const), /** * Action that adds a button and shortcut to delete folders. */ DeleteFolders: defineFileAction({ id: 'delete_folders', requiresSelection: true, fileFilter: FileHelper.isDirectory, button: { name: 'Delete folder(s)', toolbar: true, contextMenu: true, group: 'Actions', icon: ChonkyIconName.trash, }, } as const), /** * Action that adds a button and shortcut to delete folders. */ MoveToFolder: defineFileAction({ id: 'move_to_folder', requiresSelection: true, fileFilter: FileHelper.isNotDirectory, button: { name: 'Move to destination folder', toolbar: true, contextMenu: true, group: 'Actions', icon: ChonkyIconName.move, }, } as const), /** * Action that adds a button and shortcut to delete files. */ AddToPlaylist: defineFileAction({ id: 'add_to_playlist', requiresSelection: true, fileFilter: FileHelper.isNotDirectory, hotkeys: ['plus'], button: { name: 'Add to playlist', toolbar: true, contextMenu: true, group: 'Actions', icon: ChonkyIconName.music, }, } as const), /** * Action that adds a button and shortcut to delete folders. */ SetDestinationFolder: defineFileAction({ id: 'set_destination_folder', requiresSelection: true, fileFilter: FileHelper.isDirectory, button: { name: 'Set as destination folder', toolbar: true, contextMenu: true, group: 'Actions', icon: ChonkyIconName.folder, }, } as const), };