From 4bcd0439ac9561b9614349f1eb146e1e7b183095 Mon Sep 17 00:00:00 2001 From: Addi90 Date: Sun, 30 Aug 2026 19:44:40 +0200 Subject: [PATCH 1/5] feat(upload): multi-file drag-and-drop upload with per-file name + bike Rework UploadDialog into a multi-file flow (M1 + M2): - Drag-and-drop zone (and click-to-browse) accepting .fit/.tcx/.gpx/.gz, with dedupe by name+size. A single drop is just a one-row queue. - Queue of files; each row editable for name (pre-filled from filename) + bike; per-row remove and clear-all. - Sequential batch submit reusing the existing POST /api/uploads endpoint once per file; per-file status (uploading/done/error), i/n progress, and a completion summary. Dialog auto-closes on all-success, stays open on failure. - RidesList reloads on the existing 'uploaded' event. No backend changes: recompute_all(force=False) is incremental, so calling the single-upload endpoint per file is cheap. New i18n keys added (de + en). --- frontend/src/lib/UploadDialog.svelte | 368 +++++++++++++++++++++------ frontend/src/lib/i18n.ts | 12 + 2 files changed, 303 insertions(+), 77 deletions(-) diff --git a/frontend/src/lib/UploadDialog.svelte b/frontend/src/lib/UploadDialog.svelte index 88a7396..5d04cee 100644 --- a/frontend/src/lib/UploadDialog.svelte +++ b/frontend/src/lib/UploadDialog.svelte @@ -1,65 +1,140 @@ @@ -73,47 +148,88 @@ tabindex="-1" >