From a64ed4acb3aae66fb9cfd63a8ff832942057ae50 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 29 Mar 2026 18:06:49 +0000 Subject: [PATCH] feat: multi-file drag-and-drop upload with auto sequential ingest MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Add `multiple` attribute to file input so users can select/drop multiple DMARC report files at once - Remove the manual "Upload Report" button; files start uploading automatically as soon as they are dropped or selected - Show a per-file queue with status icons: pending (clock), uploading (spinner), success (checkmark), error (×) plus a result message - Sequential upload via a while-loop that processes each pending entry one at a time; newly-dropped files during an active upload are picked up automatically on the next iteration - "Clear all" button removes completed/failed files while keeping any in-flight upload untouched; individual files can be removed too - Summary alert after the full batch completes: all-success, all-error, or mixed - Use lastIndexOf for robust file-extension extraction - Updated card description to reflect automatic multi-file upload Agent-Logs-Url: https://github.com/christianlouis/dmarq/sessions/d6fb5b08-e55f-4f96-ac9b-3e4b69b3945c Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com> --- backend/app/templates/upload.html | 309 +++++++++++++++++------------- 1 file changed, 177 insertions(+), 132 deletions(-) diff --git a/backend/app/templates/upload.html b/backend/app/templates/upload.html index 7377cc1..2ae6621 100644 --- a/backend/app/templates/upload.html +++ b/backend/app/templates/upload.html @@ -1,6 +1,5 @@ {% extends "layouts/base.html" %} {% from "components/ui/card.html" import card, card_header, card_title, card_description, card_content, card_footer %} -{% from "components/ui/button.html" import button %} {% from "components/ui/alert.html" import alert, alert_title, alert_description %} {% block title %}Upload DMARC Reports - DMARQ{% endblock %} @@ -14,12 +13,13 @@ {% call card_header() %} {% call card_title() %}Upload DMARC Reports{% endcall %} {% call card_description() %} - Upload your DMARC aggregate report files (XML, ZIP, or GZIP) + Drag and drop one or more DMARC aggregate report files (XML, ZIP, or GZIP). Files are uploaded automatically. {% endcall %} {% endcall %} {% call card_content() %} -