Refactor exam review templates to enhance the display of marked answers and top submitted answers with collapsible sections and improved styling

This commit is contained in:
Ross
2025-11-10 10:44:39 +00:00
parent 2aeb1947af
commit 9c4eaceda0
2 changed files with 66 additions and 48 deletions
@@ -8,7 +8,15 @@
</p> </p>
<div class="mt-3"> <div class="mt-3">
<h6>Marked answers</h6> <div class="d-flex justify-content-between align-items-center">
<h6 class="mb-0">Marked answers</h6>
<div class="d-flex align-items-center gap-2">
<div class="small text-muted">{{ question.answers.all|length }}</div>
<button class="btn btn-sm btn-outline-primary" type="button" data-bs-toggle="collapse" data-bs-target="#marked-answers-{{ question.pk }}" aria-expanded="false" aria-controls="marked-answers-{{ question.pk }}">Show answers</button>
</div>
</div>
<div class="collapse mt-2" id="marked-answers-{{ question.pk }}">
<ul class="list-group"> <ul class="list-group">
{% for answer in question.answers.all|dictsortreversed:"status" %} {% for answer in question.answers.all|dictsortreversed:"status" %}
<li class="list-group-item d-flex justify-content-between align-items-start{% if answer.status == '2' %} list-group-item-success{% elif answer.status == '1' %} list-group-item-warning{% elif answer.status == '0' %} list-group-item-secondary{% endif %}"> <li class="list-group-item d-flex justify-content-between align-items-start{% if answer.status == '2' %} list-group-item-success{% elif answer.status == '1' %} list-group-item-warning{% elif answer.status == '0' %} list-group-item-secondary{% endif %}">
@@ -33,6 +41,7 @@
{% endfor %} {% endfor %}
</ul> </ul>
</div> </div>
</div>
{# Aggregated summary placeholder — auto-load via HTMX #} {# Aggregated summary placeholder — auto-load via HTMX #}
<div class="mt-3"> <div class="mt-3">
@@ -63,7 +63,15 @@
</div> </div>
<div> <div>
{# Collapsible Top submitted answers - closed by default. #}
<div class="d-flex justify-content-between align-items-center">
<h6 class="mb-1">Top submitted answers</h6> <h6 class="mb-1">Top submitted answers</h6>
<button class="btn btn-sm btn-outline-primary" type="button" data-bs-toggle="collapse" data-bs-target="#top-answers-{{ q_index }}" aria-expanded="false" aria-controls="top-answers-{{ q_index }}">
Show answers
</button>
</div>
<div class="collapse mt-2" id="top-answers-{{ q_index }}">
{% if top_answers %} {% if top_answers %}
<ul class="list-group"> <ul class="list-group">
{% for a in top_answers %} {% for a in top_answers %}
@@ -88,6 +96,7 @@
<div class="small text-muted">No submitted answers yet.</div> <div class="small text-muted">No submitted answers yet.</div>
{% endif %} {% endif %}
</div> </div>
</div>
{% else %} {% else %}
<div class="small text-muted">No responses recorded for this question in the exam yet.</div> <div class="small text-muted">No responses recorded for this question in the exam yet.</div>
{% endif %} {% endif %}