low complexity extracted Event Management Confidence: 100%
2
Components
4
Shared
0
User Stories
Yes
Analyzed

Description

This feature provides a chronological list of upcoming and past events visible to the logged-in user based on their role and organisation context. Peer mentors see events relevant to their local association; coordinators see all events within their scope. The list supports basic filtering by date range and status, and each entry links to the event detail screen. The listing is rendered offline-first from the local Drift database, showing cached events immediately on launch and refreshing from the REST API in the background. Empty states and error states are handled gracefully with actionable messages. The screen meets WCAG 2.2 AA contrast and touch-target requirements throughout.

Sources & reasoning

The core navigation description (lines 289-296) includes an event wizard in the Add modal, implying events are a first-class entity in the MVP app. A creation flow without a corresponding list view would be unusable; the blueprint confirms [MVP] for Event Listing. The listing is a structural prerequisite for coordinator oversight and statistical visibility described across all organisations.

  • docs/source/likeperson.md ยท line 289-296
    Bottom nav with 5 tabs: Home, Contacts, Add (modal launcher for Activity and Event wizards), Work, Notifications โ€ฆ Event wizard (multi-step: title โ†’ date โ†’ time โ†’ duration โ†’ location โ†’ summary)

Analysis

Business Value

Without a visible list of events, the creation wizard has no discoverability surface and coordinators cannot manage or track what has been scheduled. Event listing closes the feedback loop: users can confirm that an event was successfully created, monitor upcoming commitments, and review past events for reporting purposes. For coordinators overseeing multiple peer mentors, the listing provides an at-a-glance view of organisational activity volume that feeds into the team report area. This visibility is essential for the oversight workflow described across all four organisations and directly supports Bufdir data completeness.

Implementation Notes

EventListScreen uses EventListBloc to manage loading, refresh, and pagination state. The BLoC fetches events from EventRepository, which serves data from the local Drift database first and triggers a background sync via ApiHttpClient. Pagination uses cursor-based navigation to avoid offset drift on concurrent writes. Role-scoping is applied at the API layer; the client passes the user's organisation and role context in the request. The list view uses a Flutter SliverList for smooth scrolling and supports pull-to-refresh. Filter chips for date range and status are rendered above the list and update the BLoC query parameters reactively.

User Stories

No user stories have been generated for this feature yet.