Add customizable passing threshold and display statistics to students
This commit is contained in:
@@ -37,28 +37,74 @@
|
||||
<h3 class="text-lg font-bold text-white mb-6 font-heading border-b border-obsidian-border pb-3">Ваш ответ</h3>
|
||||
|
||||
{% if submission and submission.status != 'IN_PROGRESS' %}
|
||||
<div class="mb-8 p-5 rounded-lg border {% if submission.status == 'GRADED' %}bg-emerald-950/20 text-emerald-300 border-emerald-800/40{% else %}bg-amber-950/20 text-amber-300 border-amber-800/40{% endif %}">
|
||||
{% if submission.status == 'GRADED' %}
|
||||
<h4 class="font-bold mb-2 flex items-center gap-2 font-heading">
|
||||
<svg class="w-5 h-5 text-emerald-400" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
||||
<path d="M5 13l4 4L19 7" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"></path>
|
||||
</svg>
|
||||
Оценка: {{ submission.grade|default:"Не выставлена" }}
|
||||
</h4>
|
||||
{% else %}
|
||||
<h4 class="font-bold mb-2 flex items-center gap-2 font-heading">
|
||||
<span class="w-2 h-2 rounded-full bg-amber-400 animate-pulse"></span>
|
||||
Ваша работа отправлена и ожидает проверки.
|
||||
</h4>
|
||||
{% endif %}
|
||||
|
||||
{% if submission.teacher_feedback %}
|
||||
<div class="mt-4 p-4 rounded bg-obsidian-base border border-obsidian-borderLight">
|
||||
<p class="font-medium text-white text-sm mb-1">Общий комментарий преподавателя:</p>
|
||||
<p class="text-sm text-txt-secondary">{{ submission.teacher_feedback }}</p>
|
||||
{% with stats=submission.get_statistics %}
|
||||
{% if stats %}
|
||||
<div class="mb-8 p-6 rounded-xl border bg-obsidian-base border-obsidian-borderLight shadow-sm">
|
||||
<div class="flex flex-col md:flex-row md:items-center justify-between gap-6">
|
||||
<div class="flex items-center gap-4">
|
||||
<div class="flex-shrink-0">
|
||||
<div class="font-mono text-[10px] text-txt-faint uppercase tracking-wider mb-1">Итоговая оценка</div>
|
||||
<div class="flex items-baseline gap-2">
|
||||
<div class="bg-obsidian-card border border-obsidian-border rounded-lg px-4 py-2 text-2xl font-bold text-white shadow-sm">
|
||||
{{ submission.grade }}
|
||||
</div>
|
||||
<span class="text-xs text-txt-muted">первичных баллов</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="flex-grow max-w-md w-full">
|
||||
<div class="flex justify-between items-end mb-2">
|
||||
<span class="text-sm text-txt-secondary">Выполнение: <b class="text-white">{{ stats.percentage_str }}%</b></span>
|
||||
<span class="text-xs font-medium px-2 py-0.5 rounded-full" style="color: {{ stats.color }}; background-color: {{ stats.color }}15; border: 1px solid {{ stats.color }}30;">
|
||||
{{ stats.threshold_text }}
|
||||
</span>
|
||||
</div>
|
||||
<div class="w-full bg-obsidian-border rounded-full height-1.5 overflow-hidden mb-2" style="height: 6px;">
|
||||
<div class="h-full rounded-full transition-all duration-1000" style="background-color: {{ stats.color }}; width: {{ stats.percentage_str }}%;"></div>
|
||||
</div>
|
||||
<div class="flex justify-between text-[10px] text-txt-muted font-mono uppercase tracking-wide">
|
||||
<span>0 б</span>
|
||||
<span>Порог: {{ stats.threshold_points }} б</span>
|
||||
<span>Максимум: {{ stats.total }} б</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
{% if submission.teacher_feedback %}
|
||||
<div class="mt-6 pt-5 border-t border-obsidian-borderLight">
|
||||
<p class="font-mono text-[10px] uppercase text-accent-blue mb-2 tracking-wider">Комментарий преподавателя</p>
|
||||
<p class="text-sm text-txt-secondary leading-relaxed bg-obsidian-card p-4 rounded-lg border border-obsidian-border shadow-inner">
|
||||
{{ submission.teacher_feedback }}
|
||||
</p>
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% else %}
|
||||
<div class="mb-8 p-5 rounded-lg border {% if submission.status == 'GRADED' %}bg-emerald-950/20 text-emerald-300 border-emerald-800/40{% else %}bg-amber-950/20 text-amber-300 border-amber-800/40{% endif %}">
|
||||
{% if submission.status == 'GRADED' %}
|
||||
<h4 class="font-bold mb-2 flex items-center gap-2 font-heading">
|
||||
<svg class="w-5 h-5 text-emerald-400" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
||||
<path d="M5 13l4 4L19 7" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"></path>
|
||||
</svg>
|
||||
Оценка: {{ submission.grade|default:"Не выставлена" }}
|
||||
</h4>
|
||||
{% else %}
|
||||
<h4 class="font-bold mb-2 flex items-center gap-2 font-heading">
|
||||
<span class="w-2 h-2 rounded-full bg-amber-400 animate-pulse"></span>
|
||||
Ваша работа отправлена и ожидает проверки.
|
||||
</h4>
|
||||
{% endif %}
|
||||
|
||||
{% if submission.teacher_feedback %}
|
||||
<div class="mt-4 p-4 rounded bg-obsidian-base border border-obsidian-borderLight">
|
||||
<p class="font-medium text-white text-sm mb-1">Общий комментарий преподавателя:</p>
|
||||
<p class="text-sm text-txt-secondary">{{ submission.teacher_feedback }}</p>
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endif %}
|
||||
{% endwith %}
|
||||
|
||||
<h4 class="font-bold mb-5 text-white font-heading">Ваши ответы на задачи:</h4>
|
||||
<div class="space-y-6">
|
||||
|
||||
Reference in New Issue
Block a user