Unit Tests / test (push) Successful in 5s
## Summary Closes #34. - Upcoming and Past calendar tabs show a short message when that list is empty, so a calendar with no events is no longer a blank content area. - Empty copy stays hidden on a tab that has events. ## Test plan - [ ] Open `/calendar` with no `CalendarEvent` rows and confirm Upcoming says “There are no upcoming events to display.” - [ ] Switch to Past and confirm it says “There are no past events to display.” - [ ] Add an upcoming event and confirm the Upcoming message is gone while Past still shows its empty message if there are no past events. - [ ] `uv run python manage.py test schasite.tests.PublicPageTests.test_calendar_shows_empty_state_when_no_events schasite.tests.CalendarEventTests.test_calendar_page_splits_past_and_future` Reviewed-on: #35