From 2a71b5d7f2dbea03d2b09836ab3ae24982f5b112 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mert=20Bora=20=C4=B0nevi?= Date: Fri, 31 Oct 2025 13:35:53 +0100 Subject: [PATCH 1/8] Make the whole drop area the shapefile label --- .../blocks/mijnpercelen/form-upload.tsx | 102 ++++++++---------- 1 file changed, 46 insertions(+), 56 deletions(-) diff --git a/fdm-app/app/components/blocks/mijnpercelen/form-upload.tsx b/fdm-app/app/components/blocks/mijnpercelen/form-upload.tsx index 124993fc4..9fbc74b4b 100644 --- a/fdm-app/app/components/blocks/mijnpercelen/form-upload.tsx +++ b/fdm-app/app/components/blocks/mijnpercelen/form-upload.tsx @@ -361,13 +361,54 @@ export function MijnPercelenUploadForm({ name, onBlur, onChange, - disabled, ref, }, }) => (
Shapefile
-
+ { + await handleFileChange( + event, + onChange, + ) + }} + ref={ref} + type="file" + placeholder="" + className="hidden" + multiple + required + id="file-upload" + /> +
- +
From d756cf47dc15821680c4b08f8824f1ca2d66577d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mert=20Bora=20=C4=B0nevi?= Date: Fri, 31 Oct 2025 13:37:39 +0100 Subject: [PATCH 2/8] Add changeset --- .changeset/new-hornets-hope.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/new-hornets-hope.md diff --git a/.changeset/new-hornets-hope.md b/.changeset/new-hornets-hope.md new file mode 100644 index 000000000..c990c5066 --- /dev/null +++ b/.changeset/new-hornets-hope.md @@ -0,0 +1,5 @@ +--- +"@svenvw/fdm-app": minor +--- + +The users can now drop files onto the entire shapefile upload area during farm creation, not just on top of the text and icons. From 8f4113999d4e3ef5bd4c35208024ced6f210ee0f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mert=20Bora=20=C4=B0nevi?= Date: Fri, 31 Oct 2025 16:19:06 +0100 Subject: [PATCH 3/8] Insert dropped files into the input properly --- fdm-app/app/components/blocks/mijnpercelen/form-upload.tsx | 3 +++ 1 file changed, 3 insertions(+) diff --git a/fdm-app/app/components/blocks/mijnpercelen/form-upload.tsx b/fdm-app/app/components/blocks/mijnpercelen/form-upload.tsx index 9fbc74b4b..046730914 100644 --- a/fdm-app/app/components/blocks/mijnpercelen/form-upload.tsx +++ b/fdm-app/app/components/blocks/mijnpercelen/form-upload.tsx @@ -231,6 +231,9 @@ export function MijnPercelenUploadForm({ ) form.setValue("shapefile", updatedFiles, { shouldValidate: true }) + const container = new DataTransfer() + updatedFiles.forEach((f) => container.items.add(f)) + document.getElementById("file-upload").files = container.files await handleFilesSet(updatedFiles) e.dataTransfer.clearData() } From 06314a50ac6381f766828b180ee6e966f7707959 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mert=20Bora=20=C4=B0nevi?= Date: Fri, 31 Oct 2025 16:24:13 +0100 Subject: [PATCH 4/8] Update changeset --- .changeset/free-donkeys-greet.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/free-donkeys-greet.md diff --git a/.changeset/free-donkeys-greet.md b/.changeset/free-donkeys-greet.md new file mode 100644 index 000000000..5278e36ed --- /dev/null +++ b/.changeset/free-donkeys-greet.md @@ -0,0 +1,5 @@ +--- +"@svenvw/fdm-app": minor +--- + +Users can now drop files onto the shapefile drop area in the creation wizard, and it will work. From ae5645786c327094433368bfa5a0ab259549f06e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mert=20Bora=20=C4=B0nevi?= Date: Fri, 31 Oct 2025 17:00:00 +0100 Subject: [PATCH 5/8] Nitpicks --- .../blocks/mijnpercelen/form-upload.tsx | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/fdm-app/app/components/blocks/mijnpercelen/form-upload.tsx b/fdm-app/app/components/blocks/mijnpercelen/form-upload.tsx index 046730914..208be18dd 100644 --- a/fdm-app/app/components/blocks/mijnpercelen/form-upload.tsx +++ b/fdm-app/app/components/blocks/mijnpercelen/form-upload.tsx @@ -231,9 +231,17 @@ export function MijnPercelenUploadForm({ ) form.setValue("shapefile", updatedFiles, { shouldValidate: true }) - const container = new DataTransfer() - updatedFiles.forEach((f) => container.items.add(f)) - document.getElementById("file-upload").files = container.files + + const fileInput = document.getElementById( + "file-upload", + ) as HTMLInputElement | null + if (fileInput) { + const container = new DataTransfer() + updatedFiles.forEach((f) => { + container.items.add(f) + }) + fileInput.files = container.files + } await handleFilesSet(updatedFiles) e.dataTransfer.clearData() } @@ -389,6 +397,8 @@ export function MijnPercelenUploadForm({ id="file-upload" />