No-shows on the desktop member page, coach event screens, "+" popup polish

- management member_detail.html's Attendance card now shows the same
  No-shows count as the mobile player sheet, and the card's content (sparkline
  + tiles) fills the card's height/width instead of sitting in the top-left
  corner -- same flex-1/justify-center + stretched-tiles fix used there.
- Coach mode's Attendance and Line-up screens (opening an event) now
  highlight the Schedule tab instead of Today -- that's the calendar-icon
  tab, and where a coach reaches either from CoachScheduleView's own rows.
- The tab bar's "+" button: rotates 45° into an "×" while its popup is open
  (icon reused via CSS transform, no icon swap needed), the popup sits a
  little higher above the button (mb-3 -> mb-5), and a dark backdrop now
  covers the content behind it so the popup stands out.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-23 14:16:05 +02:00
parent 4af598500b
commit fbaf5a8799
8 changed files with 71 additions and 11 deletions

View File

@@ -3179,6 +3179,13 @@ class CoachAttendanceViewTests(TestCase):
self.assertContains(response, "Anna Player")
self.assertContains(response, "9")
def test_the_schedule_tab_is_highlighted(self):
self.client.force_login(self.user)
response = self._get()
self.assertEqual(response.context["active_tab"], "coach_schedule")
def test_shows_a_maybe_reason_alongside_an_absent_one(self):
self.attendance.status = Attendance.AttendanceStatus.MAYBE
self.attendance.note = "Might be a few minutes late"
@@ -3726,6 +3733,13 @@ class CoachLineupViewTests(TestCase):
self.assertEqual(response.status_code, 302)
def test_the_schedule_tab_is_highlighted(self):
self.client.force_login(self.user)
response = self.client.get(reverse("mobile:coach_lineup", kwargs={"event_id": self.event.pk}), HTTP_HOST="ajax-united.rosterchief.app")
self.assertEqual(response.context["active_tab"], "coach_schedule")
def test_get_creates_a_lineup_lazily(self):
self.client.force_login(self.user)