{% extends "mobile/coach/base.html" %} {% load i18n lucide %} {% comment %} C2 -- design_handoff_rosterchief_platform/README.md's C2 section: check off who actually showed up, a separate axis from their RSVP (see CoachAttendanceView's own docstring). The mock's "fixed white footer" Save button is a plain in-flow button instead -- every other coach/member sub-page in this codebase keeps its action inline rather than adding a second fixed bar above the shell's own tab bar. {% endcomment %} {% block header_extra %}
{% trans "Attendance" %} {{ checked_in_count }}/{{ total_count }}
{{ event.title }} · {{ event.start|date:"D d M H:i" }}
{% endblock header_extra %} {% block content %}
{% trans "Responded" %} {{ responded_count }} {% trans "Silent" %} {{ silent_count }} {% trans "Declined" %} {{ declined_count }}
{% csrf_token %}
{% for row in rows %}
{{ row.membership.jersey_number|default:"—" }}
{{ row.member.get_full_name }}
{{ row.membership.position|default:"—" }}
{% if row.note %} {# Only ever set alongside absent/maybe -- EventDetailView.post clears it for present. #}
“{{ row.note }}”
{% endif %}
{% if can_manage_active_team %}
{% elif row.showed_up is not None %} {% if row.showed_up %}{% trans "In" %}{% else %}{% trans "Out" %}{% endif %} {% endif %}
{% empty %}
{% trans "No one matches this filter." %}
{% endfor %}
{% if can_manage_active_team %} {% endif %}
{% endblock content %}