fix(exam-prep): стилизованное окно завершения пробника вместо нативного confirm

Окно подтверждения завершения пробника использовало нативный confirm()
(и alert() при ошибке) — без стилей. Заменено на LS.confirm (стилизованный
модал) и LS.toast для ошибки завершения.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Maxim Dolgolyov
2026-06-01 08:47:12 +03:00
parent 536261ceb5
commit 0b2e7c8880
+7 -3
View File
@@ -221,10 +221,14 @@
/* Finish */ /* Finish */
const finishBtn = document.getElementById('mk-finish'); const finishBtn = document.getElementById('mk-finish');
finishBtn.onclick = () => { finishBtn.onclick = async () => {
if (answeredSet.size < tasks.length) { if (answeredSet.size < tasks.length) {
const left = tasks.length - answeredSet.size; const left = tasks.length - answeredSet.size;
if (!confirm(`Не отвечено: ${left}. Завершить пробник сейчас?`)) return; const ok = await LS.confirm(
`Не отвечено заданий: ${left}.\nЗавершить пробник сейчас?`,
{ title: 'Завершить пробник?', confirmText: 'Завершить', danger: true }
);
if (!ok) return;
} }
finish(false); finish(false);
}; };
@@ -238,7 +242,7 @@
await EP.api.mockFinish(session.id); await EP.api.mockFinish(session.id);
location.reload(); // will render result phase location.reload(); // will render result phase
} catch (e) { } catch (e) {
alert(`Не удалось завершить: ${e.message || e}`); LS.toast(`Не удалось завершить: ${e.message || e}`, 'error');
finishBtn.disabled = false; finishBtn.disabled = false;
finishBtn.innerHTML = '<i data-lucide="flag"></i> Завершить'; finishBtn.innerHTML = '<i data-lucide="flag"></i> Завершить';
if (window.lucide) lucide.createIcons(); if (window.lucide) lucide.createIcons();