From a87c472191fa66ec8e8938ce3f35f8df8c1ba500 Mon Sep 17 00:00:00 2001 From: sascha Date: Wed, 28 Jan 2026 18:40:24 +0000 Subject: [PATCH] app/static/script.js aktualisiert --- app/static/script.js | 35 ++++++++++++++++------------------- 1 file changed, 16 insertions(+), 19 deletions(-) diff --git a/app/static/script.js b/app/static/script.js index 45701b5..e35a19d 100644 --- a/app/static/script.js +++ b/app/static/script.js @@ -1,11 +1,9 @@ -let mainMode = null; // 'vocab' oder 'irregular' -let subMode = null; // 'de-en', 'start-german', etc. +let mainMode = null; +let subMode = null; let selectedPages = []; let currentCard = null; let stats = { correct: 0, total: 0 }; -// --- SETUP LOGIC --- - function selectMainMode(mode) { mainMode = mode; subMode = null; @@ -24,13 +22,13 @@ function selectMainMode(mode) { function selectSubMode(mode) { subMode = mode; - document.querySelectorAll('.sub-btn').forEach(b => b.classList.remove('active')); document.getElementById(`btn-sub-${mode}`).classList.add('active'); document.getElementById('page-section').style.display = 'block'; - document.getElementById('btn-start').disabled = false; - document.getElementById('btn-start').style.opacity = '1'; + + // Button Check: Nur aktivieren wenn Seiten gewählt sind + updatePageDisplay(); } function fetchPages(type) { @@ -40,15 +38,16 @@ function fetchPages(type) { const list = document.getElementById('page-list'); list.innerHTML = ''; - // Standard: Alle auswählen - selectedPages = pages; - updatePageDisplay(); + // WICHTIG: selectedPages resetten und KEINE Haken standardmäßig setzen + selectedPages = []; + updatePageDisplay(); // Zeigt "Keine Seiten gewählt!" pages.forEach(p => { const div = document.createElement('div'); div.className = 'page-item'; + // Hier KEIN 'checked' Attribut mehr div.innerHTML = ` - + `; list.appendChild(div); @@ -56,7 +55,6 @@ function fetchPages(type) { }); } -// --- NEU: FUNKTION FÜR "ALLE AN / ALLE AUS" --- function toggleAllPages(state) { const checkboxes = document.querySelectorAll('#page-list input'); checkboxes.forEach(cb => { @@ -73,32 +71,31 @@ function updatePageSelection() { function updatePageDisplay() { const d = document.getElementById('selected-pages-display'); + const btn = document.getElementById('btn-start'); + if (selectedPages.length === 0) { d.innerText = "Keine Seiten gewählt!"; d.style.color = "red"; - document.getElementById('btn-start').disabled = true; + btn.disabled = true; } else { d.innerText = `Seiten: ${selectedPages.join(', ')}`; d.style.color = "#555"; - if (subMode) document.getElementById('btn-start').disabled = false; + if (subMode) btn.disabled = false; } } -// --- QUIZ LOGIC --- - +// --- QUIZ LOGIC (Unverändert) --- function startQuiz() { stats = { correct: 0, total: 0 }; updateStats(); document.getElementById('setup-screen').style.display = 'none'; - document.getElementById('quiz-screen').style.display = 'flex'; - document.querySelector('.container').style.justifyContent = 'flex-start'; // Nach oben schieben + document.getElementById('quiz-screen').style.display = 'flex'; // Flex, wegen CSS column nextQuestion(); } function stopQuiz() { document.getElementById('quiz-screen').style.display = 'none'; document.getElementById('setup-screen').style.display = 'block'; - document.querySelector('.container').style.justifyContent = 'center'; // Wieder mittig } function nextQuestion() {