diff --git a/app/static/script.js b/app/static/script.js index ad1d35c..bd79531 100644 --- a/app/static/script.js +++ b/app/static/script.js @@ -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) {