app/static/script.js aktualisiert

This commit is contained in:
sascha 2026-01-28 22:14:30 +00:00
parent 2a3bb99cb5
commit c4a6b81e51

View File

@ -45,6 +45,7 @@ function nextQuestion() {
btn.innerText = "Prüfen";
btn.onclick = checkAnswer;
btn.className = "action-btn primary";
document.getElementById('feedback').innerText = '';
const lids = Array.from(document.querySelectorAll('#lesson-list input:checked')).map(cb => cb.value);
@ -90,6 +91,7 @@ function renderCard(card) {
`;
container.appendChild(row);
});
const first = container.querySelector('input');
if(first) first.focus();
}
@ -104,6 +106,7 @@ function checkAnswer() {
type: i.dataset.type || 'german'
});
});
attempts++;
fetch('/api/check', {
@ -119,10 +122,21 @@ function checkAnswer() {
res.results.forEach((r, idx) => {
const el = inputs[idx];
el.classList.remove('wrong', 'correct', 'typo', 'incomplete');
if (r.status === 'correct') { el.classList.add('correct'); }
else if (r.status === 'typo') { el.classList.add('typo'); }
else if (r.status === 'incomplete') { el.classList.add('incomplete'); globalMsg = r.msg; }
else { el.classList.add('wrong'); }
if (r.status === 'correct') {
el.classList.add('correct');
// NEU: Überschreibe den Text mit der perfekten Lösung (mit Strichen)
el.value = r.correct;
} else if (r.status === 'typo') {
el.classList.add('typo');
// Optional: Bei Tippfehler auch korrigieren?
// el.value = r.correct; (Geschmackssache, hier lassen wir es erstmal so)
} else if (r.status === 'incomplete') {
el.classList.add('incomplete');
globalMsg = r.msg;
} else {
el.classList.add('wrong');
}
});
if (res.all_correct) {