From 24a92632fdc6b83ceec126c882f31d7cd3c6e0a4 Mon Sep 17 00:00:00 2001 From: Vladislav Kopnin Date: Mon, 26 Oct 2026 15:47:34 +0300 Subject: [PATCH] =?UTF-8?q?fix(ui):=20=D1=80=D0=B0=D0=B7=D0=BB=D0=B8=D1=87?= =?UTF-8?q?=D0=B0=D1=82=D1=8C=20=D0=B3=D0=BE=D1=82=D0=BE=D0=B2=D0=BD=D0=BE?= =?UTF-8?q?=D1=81=D1=82=D1=8C=20=D0=B7=D0=B0=D1=89=D0=B8=D1=82=D1=8B=20?= =?UTF-8?q?=D0=B8=20=D0=B8=D1=81=D1=82=D0=B5=D1=87=D0=B5=D0=BD=D0=B8=D0=B5?= =?UTF-8?q?=20=D0=B2=D1=80=D0=B5=D0=BC=D0=B5=D0=BD=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- web/src/main/resources/static/js/admin-group.js | 13 ++++++++----- web/src/main/resources/templates/admin/group.html | 6 +++--- web/src/main/resources/templates/student/lab.html | 2 +- 3 files changed, 12 insertions(+), 9 deletions(-) diff --git a/web/src/main/resources/static/js/admin-group.js b/web/src/main/resources/static/js/admin-group.js index 290036b..abd01b5 100644 --- a/web/src/main/resources/static/js/admin-group.js +++ b/web/src/main/resources/static/js/admin-group.js @@ -324,7 +324,9 @@ function applyDefenseToCell(s) { if (s.status === 'started' && s.endsAt) btn.setAttribute('data-seconds', String(Math.max(0, Math.ceil((s.endsAt - Date.now()) / 1000)))); if (s.code) btn.setAttribute('data-code', s.code); else btn.removeAttribute('data-code'); btn.classList.remove('ok', 'warn', 'dim'); - btn.classList.add(s.status === 'ready' ? 'ok' : (s.status === 'waiting' || s.status === 'started' ? 'warn' : 'dim')); + btn.classList.add(s.status === 'ready' + ? (s.readyReason === 'timeout' ? 'warn' : 'ok') + : (s.status === 'waiting' || s.status === 'started' ? 'warn' : 'dim')); var label = btn.querySelector('.js-def-label'); var timer = btn.querySelector('.js-def-timer'); var started = s.status === 'started'; @@ -340,12 +342,13 @@ function applyDefenseToCell(s) { if (label) { label.textContent = started ? '' : (s.status == null ? '—' - : (s.status === 'ready' ? 'готова' + : (s.status === 'ready' + ? (s.readyReason === 'timeout' ? 'кончилось время' : 'готова') : (s.code ? 'код ' + s.code : 'ожидает'))); } if (s.status === 'ready') { btn.title = 'Защита: ' + defenseReasonText(s.readyReason); - if (label) label.textContent = 'готова'; + if (label) label.textContent = s.readyReason === 'timeout' ? 'кончилось время' : 'готова'; } } @@ -368,7 +371,7 @@ function syncDefenseStatuses(sessions, initial) { var btn = defenseBtn(s.sessionId); var who = (btn && btn.getAttribute('data-student-name')) || 'студент'; var lab = (btn && btn.getAttribute('data-lab-name')) || 'лабораторная'; - var reason = s.readyReason === 'timeout' ? 'время вышло' : 'нажал «Готов»'; + var reason = s.readyReason === 'timeout' ? 'кончилось время' : 'нажал «Готов»'; showToast(who + ' — ' + lab + ': ' + reason + '.'); } @@ -429,7 +432,7 @@ function startDefenseWatch() { /* ---------- Индивидуальное задание (защита) ---------- */ function defenseReasonText(reason) { - if (reason === 'timeout') return 'Вышло время'; + if (reason === 'timeout') return 'Кончилось время'; return 'Готов к сдаче'; } diff --git a/web/src/main/resources/templates/admin/group.html b/web/src/main/resources/templates/admin/group.html index 47094f6..18aaa93 100644 --- a/web/src/main/resources/templates/admin/group.html +++ b/web/src/main/resources/templates/admin/group.html @@ -146,14 +146,14 @@ th:href="@{/admin/submissions/{id}/download(id=${cell.submissionId}, group=${group.name}, no=${row.studentNo}, name=${row.fullName}, attempt=${cell.submissionSeq})}">сдача ↓ 1 не сдано diff --git a/web/src/main/resources/templates/student/lab.html b/web/src/main/resources/templates/student/lab.html index c2ae1de..ecfbcb7 100644 --- a/web/src/main/resources/templates/student/lab.html +++ b/web/src/main/resources/templates/student/lab.html @@ -108,7 +108,7 @@
-

+

Ожидайте преподавателя с проверкой.