- Home: the person switcher (chip row) now lives in the white content area instead of the navy header, matching the design canvas's own M1 markup, and renders smaller. Home is now the only screen that shows it at all. - Calendar: dropped the person switcher and the "My schedule"/"All members" toggle entirely -- it always shows every event self.managed_people is invited to, full stop. Rows now run edge-to-edge (-mx-4) instead of living in a rounded, inset card, matching the M3 design canvas's own full-bleed layout. (The design mock's List/Month/"Games only" controls aren't reproduced -- no real functionality behind them yet.) - Home's "Needs your answer" card caps at 5 items with a "+N more in Calendar" link, so it can't crowd the dues/news cards below it off the first screenful. - Home gains a sponsors strip at the very bottom (horizontally scrolling, scrollbar hidden) -- active sponsors only, reshuffled on every request. club.services.sponsors.active_sponsors factors the "what counts as active" query out of club/api.py's public sponsors endpoint so both it and Home share one definition. - Also removed mobile/views.py's now-fully-dead _PlaceholderScreen and its template -- every M1-M7 screen has had a real implementation for a while and nothing subclassed it anymore. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01ECGMEwrc2k4D8VQuwjstj9
28 lines
1.6 KiB
HTML
28 lines
1.6 KiB
HTML
{% load i18n %}
|
|
{% comment %}
|
|
One M3 agenda row -- included from calendar.html once per bucket. Expects
|
|
``row`` ({event, pill_class, pill_label}) in scope. A 4px club-red left
|
|
border marks games; other kinds get a 3px colour bar (info for training,
|
|
warn for everything else) next to the date, per the design doc's M3 row
|
|
description.
|
|
{% endcomment %}
|
|
<a class="flex items-center gap-3 bg-white px-4 py-3 {% if row.event.kind == "game" %}border-l-4 border-club{% endif %}" href="{% url "mobile:event_detail" row.event.pk %}">
|
|
<div class="w-9.5 shrink-0 text-center">
|
|
<div class="font-mono text-[10px] tracking-wide text-muted uppercase">{{ row.event.start|date:"D" }}</div>
|
|
<div class="font-display text-2xl leading-none font-extrabold text-ink">{{ row.event.start|date:"d" }}</div>
|
|
</div>
|
|
{% if row.event.kind != "game" %}
|
|
<div class="h-9.5 w-[3px] shrink-0 rounded-full {% if row.event.kind == "training" %}bg-info{% else %}bg-warn{% endif %}"></div>
|
|
{% endif %}
|
|
<div class="min-w-0 flex-1">
|
|
<div class="text-sm font-semibold text-ink">{{ row.event.title }}</div>
|
|
<div class="truncate text-xs text-muted">
|
|
{{ row.event.start|date:"H:i" }}
|
|
{% if row.member %}· {{ row.member.first_name }}{% endif %}
|
|
{% for team in row.event.teams.all %}· {{ team.name }}{% endfor %}
|
|
{% if row.event.location %}· {{ row.event.location.name }}{% endif %}
|
|
</div>
|
|
</div>
|
|
<span class="pill {{ row.pill_class }} shrink-0">{{ row.pill_label }}</span>
|
|
</a>
|