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 */
const finishBtn = document.getElementById('mk-finish');
finishBtn.onclick = () => {
finishBtn.onclick = async () => {
if (answeredSet.size < tasks.length) {
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);
};
@@ -238,7 +242,7 @@
await EP.api.mockFinish(session.id);
location.reload(); // will render result phase
} catch (e) {
alert(`Не удалось завершить: ${e.message || e}`);
LS.toast(`Не удалось завершить: ${e.message || e}`, 'error');
finishBtn.disabled = false;
finishBtn.innerHTML = '<i data-lucide="flag"></i> Завершить';
if (window.lucide) lucide.createIcons();