Files
standardnotes-app-web/packages/web/src/javascripts/Components/AttachedFilesPopover/PopoverFileItemAction.tsx
2022-12-20 19:01:24 +05:30

44 lines
883 B
TypeScript

import { FileItem } from '@standardnotes/snjs'
export enum FileItemActionType {
AttachFileToNote,
DetachFileToNote,
DeleteFile,
DownloadFile,
RenameFile,
ToggleFileProtection,
PreviewFile,
}
export type FileItemAction =
| {
type: Exclude<
FileItemActionType,
FileItemActionType.RenameFile | FileItemActionType.ToggleFileProtection | FileItemActionType.PreviewFile
>
payload: {
file: FileItem
}
}
| {
type: FileItemActionType.ToggleFileProtection
payload: {
file: FileItem
}
callback: (isProtected: boolean) => void
}
| {
type: FileItemActionType.RenameFile
payload: {
file: FileItem
name: string
}
}
| {
type: FileItemActionType.PreviewFile
payload: {
file: FileItem
otherFiles?: FileItem[]
}
}