Area: Engagement (audit p9) · Surface: /events, EventController@index, templates/events/index.php · Dimension: competitor-gap · Severity: minor
Every mature community/LMS events surface offers a month-grid calendar in addition to a list — Circle, Mighty Networks, Discourse's calendar plugin, and LearnWorlds all do. A grid is how members visually scan 'what's happening this month' and spot clustering; a flat list buries a busy month and makes a recurring weekly event look like noise. We already store event_date, event_end_date, event_time, timezone, and recurrence (EventController fields), so the data fully supports a grid — only the view is missing.
Evidence
EventController::index() only builds a list grouped by month string ($grouped[$month][] = $event, src/Controllers/EventController.php:109-114) and renders templates/events/index.php, which is a card list under month <h3> labels (templates/events/index.php:32-87). grep for calendar.*grid|month.*grid|fullcalendar|cal-month|cal-grid across templates/events/ returns no match — there is no day-cell month grid or week view. The hero just uses a calendar icon (index.php:15).
Suggested fix. Add a month-grid calendar view toggle to /events (list | calendar), rendering events into day cells with the existing recurrence + multi-day range data. Keep the list as the mobile default.
Filed by the automated tenant-app audit and adversarially evidence-verified. Status: verified. Open — not yet actioned.
Patrick Bass
@mobieus