diff --git a/app/src/main/assets/js/dyktando.js b/app/src/main/assets/js/dyktando.js index 569ff08..28f3855 100644 --- a/app/src/main/assets/js/dyktando.js +++ b/app/src/main/assets/js/dyktando.js @@ -35,7 +35,7 @@ const summaryScore = document.getElementById('summary-score') const summaryBackBtn = document.getElementById('summary-back-btn') const dykScroll = document.getElementById('dyk-scroll') - const progressBar = document.getElementById('dyk-progress-bar-inner') + let progressBar = null // ── Load texts ──────────────────────────────────────────────────────────── fetch('json/dyktanda.json') @@ -53,6 +53,20 @@ textList.innerHTML = '

Nie udało się wczytać tekstów.

' }) + // Poczekaj na dynamiczne załadowanie progress bara + document.addEventListener('DOMContentLoaded', () => { + // progress bar jest ładowany przez loadComponent w dyktando.html + const checkProgressBar = () => { + const el = document.getElementById('dyk-progress-bar-inner') + if (el) { + progressBar = el + } else { + setTimeout(checkProgressBar, 50) + } + } + checkProgressBar() + }) + customStartBtn.addEventListener('click', () => { const txt = customInput.value.trim() if (!txt) return @@ -98,7 +112,7 @@ textDisplay.classList.remove('hidden') choicesEl.classList.remove('hidden') progressEl.textContent = '' - progressBar.style.width = '0%' + if (progressBar) progressBar.style.width = '0%' listWrap.classList.add('hidden') playWrap.classList.remove('hidden') diff --git a/app/src/main/assets/js/dzielenie.js b/app/src/main/assets/js/dzielenie.js index 77fdfb6..8ee87d5 100644 --- a/app/src/main/assets/js/dzielenie.js +++ b/app/src/main/assets/js/dzielenie.js @@ -8,7 +8,7 @@ const problemEl = document.getElementById('problem') const answerEl = document.getElementById('answer') const feedbackEl = document.getElementById('feedback') - const progressInner = document.getElementById('progress-inner') + let progressInner = null const progressLabel = document.getElementById('progress-label') const summaryText = document.getElementById('summary-text') const totalInput = document.getElementById('total-input') @@ -99,7 +99,10 @@ function updateBar() { const pct = st.total > 0 ? Math.round((st.solved / st.total) * 100) : 0 - progressInner.style.width = pct + '%' + if (!progressInner) { + progressInner = document.getElementById('progress-inner') + } + if (progressInner) progressInner.style.width = pct + '%' progressLabel.textContent = `${st.solved}/${st.total}` }