summaryrefslogtreecommitdiff
path: root/apps/web/src/hooks/use-file-upload.ts
diff options
context:
space:
mode:
authorMaze Winther <mazewinther@gmail.com>2026-03-25 16:47:22 +0100
committerMaze Winther <mazewinther@gmail.com>2026-03-29 15:48:22 +0200
commit8db3bead13441a5882d8689dfc6a9f09c82375d9 (patch)
treee9d0cafa93904ffcbec3188c37961bcc16c6422d /apps/web/src/hooks/use-file-upload.ts
parent39ea298a9ccba3104c549c0ca079c231981811f5 (diff)
downloadopencut-8db3bead13441a5882d8689dfc6a9f09c82375d9.tar.gz
feat: masks, properties refactor, shaders, storage migrations, and more
Diffstat (limited to 'apps/web/src/hooks/use-file-upload.ts')
-rw-r--r--apps/web/src/hooks/use-file-upload.ts12
1 files changed, 5 insertions, 7 deletions
diff --git a/apps/web/src/hooks/use-file-upload.ts b/apps/web/src/hooks/use-file-upload.ts
index 19badd98..d174e002 100644
--- a/apps/web/src/hooks/use-file-upload.ts
+++ b/apps/web/src/hooks/use-file-upload.ts
@@ -4,7 +4,7 @@ import { hasDragData } from "@/lib/drag-data";
interface UseFileUploadOptions {
accept?: string;
multiple?: boolean;
- onFilesSelected?: (files: FileList) => void;
+ onFilesSelected?: (files: File[]) => void;
}
function containsFiles(dataTransfer: DataTransfer): boolean {
@@ -29,8 +29,8 @@ export function useFileUpload({
}
function handleFileChange(event: React.ChangeEvent<HTMLInputElement>) {
- const files = event.target.files;
- if (files && files.length > 0 && onFilesSelected) {
+ const files = Array.from(event.target.files ?? []);
+ if (files.length > 0 && onFilesSelected) {
onFilesSelected(files);
}
@@ -71,15 +71,13 @@ export function useFileUpload({
dragCounterRef.current = 0;
if (onFilesSelected && containsFiles(e.dataTransfer)) {
- const files = e.dataTransfer.files;
+ const files = Array.from(e.dataTransfer.files);
const shouldUseMultiple = multiple ?? false;
if (shouldUseMultiple) {
onFilesSelected(files);
} else if (files.length > 0) {
- const dataTransfer = new DataTransfer();
- dataTransfer.items.add(files[0]);
- onFilesSelected(dataTransfer.files);
+ onFilesSelected([files[0]]);
}
}
}