in frontend/src/js/components/Uploads/FilePicker.tsx [5:32]
async function readDragEvent(e: React.DragEvent): Promise<Map<string, File>> {
const files = new Map<string, File>();
for(const item of e.dataTransfer.items) {
if(item.webkitGetAsEntry()) {
const entry: FileSystemEntry | null = item.webkitGetAsEntry();
if(entry && entry.isFile) {
const file = await readFileEntry(entry as FileSystemFileEntry);
files.set(file.name, file as File);
} else if(entry && entry.isDirectory) {
const directoryFiles = await readDirectoryEntry(entry as FileSystemDirectoryEntry);
for(const [path, file] of directoryFiles) {
files.set(path, file as File);
}
}
} else {
const file = item.getAsFile();
if(file) {
files.set(file.name, file);
}
}
}
return files;
}