{% load static i18n %} {% comment %} App shell for Member mode (M1-M7) -- design_handoff_rosterchief_platform/README.md. Standalone, like management/base.html and controlpanel/base.html: its own stylesheet (assets/mobile.css), no daisyUI, no shared nav. Mobile-first, viewport-fit=cover + env(safe-area-inset-*) throughout (see mobile.css's own file banner) rather than the iOS bezel in the design canvas, which is presentation-only. The Coach/Member role switcher renders once has_coach_access is true (an account with >=1 current-season staff assignment -- mobile/mixins.py's PersonScopeMixin) -- Coach mode (C1-C6, mobile/coach_views.py) is being built out screen by screen; only what's actually shipped is linked to. {% endcomment %} {% block title %}{{ screen_title }} · {{ club.name }}{% endblock title %} {% if club.secondary_color %} {% endif %} {% if club.primary_color %} {% endif %} {% block extra_head %}{% endblock extra_head %}
{% if club.logo %} {% else %} {{ club.initials }} {% endif %} {{ club.name }} {% if season %}{% blocktrans with name=season.name %}Season {{ name }}{% endblocktrans %}{% endif %}
{% if unread_notification_count %} {% if unread_notification_count > 9 %}9+{% else %}{{ unread_notification_count }}{% endif %} {% endif %}
{% if has_coach_access %}
{% trans "Member" %} {% trans "Coach" %}
{% endif %} {% block header_extra %}{% endblock header_extra %}
{% if messages %}
{% for message in messages %}
{{ message }}
{% endfor %}
{% endif %} {% block content %}{% endblock content %}
{% block extra_body %}{% endblock extra_body %}