diff --git a/app.py b/app.py index 5b5ec9c..891e78b 100644 --- a/app.py +++ b/app.py @@ -2127,7 +2127,16 @@ def public_frontend(): const r = await fetch('/api/submit', { method:'POST', body:formData }); const data = await r.json(); if (r.ok) { - sStatus.textContent = data.message; + const subId = data.submission_id; + const hint = data.delete_hint || 'Notiere dir diese ID — mit ihr kannst du den Beitrag später löschen lassen.'; + sStatus.innerHTML = '
' + + '
✅ ' + data.message + '
' + + '
' + + '#' + subId + '' + + '' + + '
' + + '

' + hint + '

' + + '
'; sStatus.style.color = '#20228a'; document.getElementById('subName').value = ''; document.getElementById('subText').value = ''; @@ -2138,7 +2147,22 @@ def public_frontend(): document.getElementById('filePreview').style.display = 'none'; document.getElementById('subHalle').value = ''; document.getElementById('subSpiel').value = ''; - setTimeout(() => { sOverlay.classList.remove('open'); sOpen = false; sStatus.textContent = ''; }, 2500); + // Kopier-Button aktivieren + setTimeout(function() { + var copyBtn = document.getElementById('copyIdBtn'); + if (copyBtn) { + copyBtn.addEventListener('click', function() { + navigator.clipboard.writeText('#' + subId).then(function() { + copyBtn.textContent = '✓ Kopiert!'; + setTimeout(function() { copyBtn.textContent = '📋 Kopieren'; }, 2000); + }).catch(function() { + copyBtn.textContent = 'Fehler'; + }); + }); + } + }, 50); + // Overlay schließt automatisch nach 8 Sekunden + setTimeout(function() { sOverlay.classList.remove('open'); sOpen = false; sStatus.innerHTML = ''; }, 8000); } else { sStatus.textContent = data.error || 'Fehler beim Senden.'; sStatus.style.color = '#dc3545'; @@ -2489,8 +2513,14 @@ def api_submit(): ('web', sender_id, sender_name, msg_type, text or None, media_path, halle_valid, spiel_titel or None), ) db.commit() + sub_id = db.execute("SELECT last_insert_rowid()").fetchone()[0] - return jsonify({'ok': True, 'message': 'Danke für deine Einreichung! Wir schauen sie uns an. 🎲'}) + return jsonify({ + 'ok': True, + 'message': f'Beitrag #{sub_id} erfolgreich übermittelt! 🎲', + 'submission_id': sub_id, + 'delete_hint': 'Notiere dir diese ID — mit ihr kannst du den Beitrag später löschen lassen.', + }) @app.route("/beitrag/")