Files
quiz/app/static/js/vorschlag.js
T

62 lines
2.1 KiB
JavaScript
Executable File

async function submitSuggestion(event) {
event.preventDefault();
const name = document.getElementById("name").value.trim();
const frage = document.getElementById("frage").value.trim();
const antwort = document.getElementById("antwort").value.trim();
const tipp = document.getElementById("tipp").value.trim();
const submitBtn = document.getElementById("submitBtn");
const resultBox = document.getElementById("resultMessage");
if (!frage || !antwort) {
alert("Bitte gib mindestens die Frage und die richtige Antwort ein.");
return;
}
submitBtn.disabled = true;
submitBtn.innerText = "✨ Vorschlag wird übertragen...";
try {
const res = await fetch("/api/suggestions", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
name: name || "Gast",
frage: frage,
antwort: antwort,
tipp: tipp || null
})
});
const data = await res.json();
if (res.ok && data.success) {
resultBox.innerHTML = `
<div style="background: rgba(46, 204, 113, 0.2); border: 1px solid #2ecc71; color: #55efc4; padding: 15px; border-radius: 8px;">
<h3>✨ Vorschlag erfolgreich übermittelt! ✨</h3>
<p>${data.message}</p>
</div>
`;
resultBox.classList.remove("hidden");
document.getElementById("suggestionForm").reset();
} else {
resultBox.innerHTML = `
<div class="alert alert-danger">
${data.detail || "Fehler beim Einreichen deines Vorschlags."}
</div>
`;
resultBox.classList.remove("hidden");
}
} catch (err) {
resultBox.innerHTML = `
<div class="alert alert-danger">
Netzwerkfehler: ${err.message}
</div>
`;
resultBox.classList.remove("hidden");
} finally {
submitBtn.disabled = false;
submitBtn.innerText = "📜 Vorschlag an das Ministerium senden";
}
}