You've already forked AstralRinth
926c72de42
* fix: files drag drop * fix: standardize drag and drop + fix files tab permissions
20 lines
488 B
TypeScript
20 lines
488 B
TypeScript
import { createContext } from '.'
|
|
|
|
export type NativeFileDropEvent = {
|
|
type: 'enter' | 'over' | 'drop' | 'leave'
|
|
paths: string[]
|
|
position: {
|
|
x: number
|
|
y: number
|
|
}
|
|
}
|
|
|
|
export interface FileDropProvider {
|
|
listenNativeFileDrop: (
|
|
handler: (event: NativeFileDropEvent) => void | Promise<void>,
|
|
) => Promise<() => void>
|
|
createFilesFromNativePaths: (paths: string[]) => Promise<File[]>
|
|
}
|
|
|
|
export const [injectFileDrop, provideFileDrop] = createContext<FileDropProvider>('FileDrop')
|