app/static/script.js aktualisiert
This commit is contained in:
parent
d8a703a07b
commit
a87c472191
@ -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 = `
|
||||
<input type="checkbox" id="p-${p}" value="${p}" checked onchange="updatePageSelection()">
|
||||
<input type="checkbox" id="p-${p}" value="${p}" onchange="updatePageSelection()">
|
||||
<label for="p-${p}">${p}</label>
|
||||
`;
|
||||
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() {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user