diff --git a/app.py b/app.py index a936578..7704c7d 100644 --- a/app.py +++ b/app.py @@ -1950,11 +1950,10 @@ def public_frontend(): .submit-body .submit-btn:disabled { opacity:0.5; cursor:default; } .submit-body .status-msg { text-align:center; font-size:0.8rem; margin-top:0.6rem; min-height:1.2rem; } - .capture-row { display:flex; gap:0.5rem; margin-top:0.3rem; } - .capture-btn { flex:1; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:0.15rem; background:#fff; border:2px solid #ddd; border-radius:12px; padding:0.7rem 0.3rem; cursor:pointer; transition:all 0.15s; min-height:64px; -webkit-tap-highlight-color:transparent; touch-action:manipulation; } - .capture-btn:active { transform:scale(0.95); background:#f0f0f0; border-color:#20228a; } - .capture-icon { font-size:1.6rem; line-height:1; } - .capture-label { font-size:0.7rem; font-weight:600; color:#888; text-transform:uppercase; letter-spacing:0.04em; } + .capture-row { display:flex; gap:0.8rem; margin-top:0.3rem; justify-content:center; } + .capture-btn { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:0.2rem; background:#fff; border:2px solid #ddd; border-radius:50%; width:68px; height:68px; cursor:pointer; transition:all 0.15s; -webkit-tap-highlight-color:transparent; touch-action:manipulation; padding:0; } + .capture-btn:active { transform:scale(0.92); background:#f0f0f0; border-color:#20228a; } + .capture-label { font-size:0.6rem; font-weight:600; color:#888; text-transform:uppercase; letter-spacing:0.04em; } @@ -2027,21 +2026,22 @@ def public_frontend():
- + + @@ -2105,6 +2105,7 @@ def public_frontend(): document.getElementById('subVideo').value = ''; document.getElementById('subAudio').value = ''; document.getElementById('subGallery').value = ''; + document.getElementById('filePreview').style.display = 'none'; document.getElementById('subHalle').value = ''; document.getElementById('subSpiel').value = ''; setTimeout(() => { sOverlay.classList.remove('open'); sOpen = false; sStatus.textContent = ''; }, 2500); @@ -2120,6 +2121,31 @@ def public_frontend(): sSend.textContent = '📨 Absenden'; }); })(); + +// File preview — show selected file name after capture/gallery pick +(function() { + var preview = document.getElementById('filePreview'); + var inputs = ['subPhoto','subVideo','subAudio','subGallery']; + function updatePreview() { + var file = null, label = ''; + for (var i = 0; i < inputs.length; i++) { + var f = document.getElementById(inputs[i]); + if (f && f.files[0]) { file = f.files[0]; label = inputs[i]; break; } + } + if (file) { + var typeIcon = label === 'subPhoto' ? '🖼️' : label === 'subVideo' ? '🎬' : label === 'subAudio' ? '🎤' : '📎'; + var sizeMB = (file.size / (1024*1024)).toFixed(1); + preview.innerHTML = typeIcon + ' ' + file.name + ' (' + sizeMB + ' MB) — wird mitgesendet'; + preview.style.display = 'block'; + } else { + preview.style.display = 'none'; + } + } + for (var i = 0; i < inputs.length; i++) { + var el = document.getElementById(inputs[i]); + if (el) el.addEventListener('change', updatePreview); + } +})();