diff --git a/backend/static/js/app.js b/backend/static/js/app.js index 6a8ad75..2e32f8f 100644 --- a/backend/static/js/app.js +++ b/backend/static/js/app.js @@ -3,7 +3,7 @@ Router, State-Management, Navigation, Initialisierung. ============================================================ */ -const APP_VER = '227'; // ← bei jedem Deploy mit Frontend-Änderungen erhöhen +const APP_VER = '228'; // ← bei jedem Deploy mit Frontend-Änderungen erhöhen const App = (() => { diff --git a/backend/static/js/pages/routes.js b/backend/static/js/pages/routes.js index e3901cb..4b25cd8 100644 --- a/backend/static/js/pages/routes.js +++ b/backend/static/js/pages/routes.js @@ -705,12 +705,12 @@ window.Page_routes = (() => { ${photos.map(u => ``).join('')} ${isOwn ? `` : ''} ` : isOwn ? `` : ''; const body = ` @@ -853,13 +853,14 @@ window.Page_routes = (() => { // Foto-Upload document.getElementById('rk-photo-input')?.addEventListener('change', async e => { - const file = e.target.files?.[0]; - if (!file) return; + const files = Array.from(e.target.files || []); + if (!files.length) return; try { - const res = await API.routes.addPhoto(route.id, file); - route.foto_urls = res.foto_urls; - UI.toast.success('Foto gespeichert!'); - // Reload detail + for (const file of files) { + const res = await API.routes.addPhoto(route.id, file); + route.foto_urls = res.foto_urls; + } + UI.toast.success(files.length > 1 ? `${files.length} Fotos gespeichert!` : 'Foto gespeichert!'); UI.modal.close(); setTimeout(() => _openDetail(route.id), 200); } catch (err) { UI.toast.error(err.message); }