View Consolidated Notification Feed
The Notification Centre screen presents a unified inbox of all in-app notifications relevant to the peer mentor. Notifications are displayed as list items showing the notification type, a short summary, the originating entity (contact name, activity type, etc.), and a relative timestamp. Unread notifications are visually distinguished from read ones. The screen loads the most recent 50 notifications on open and supports infinite scroll for older items. Real-time updates arrive via Supabase Realtime so that new notifications appear without requiring a manual refresh.
User Story
Acceptance Criteria
- Given the peer mentor opens the Notification Centre, when the screen loads, then the notification list is populated with notifications sorted by created_at descending.
- Given there are unread notifications, when the list renders, then unread items have a distinct visual indicator (e.g. bold title or accent dot) compared to read items.
- Given notifications arrive while the screen is open, when Supabase Realtime pushes a new notification record, then the new item appears at the top of the list without requiring a manual pull-to-refresh.
- Given the list has more than 50 notifications, when the peer mentor scrolls to the bottom, then the next page of notifications is fetched and appended seamlessly.
- Given the notification list is empty, when the screen loads, then the empty-state widget is shown with a descriptive message.
- Given the screen is opened by a screen reader user, when VoiceOver or TalkBack reads each list item, then it announces type, summary, and timestamp in a logical order via the accessibility announcer.
Business Value
A centralised notification feed is the primary discovery mechanism for time-sensitive events — missed assignment reminders or expired certification alerts directly reduce the quality of peer support delivered. Consolidating all notification types into one screen reduces context-switching and cognitive load for volunteers, improving responsiveness and retention of active peer mentors.
Components
- Notification Centre Screen ui
- Notification List Item ui
- Notification Empty State Widget ui
- Notification BLoC service
- Notification Repository data
- Notification Domain Model data
- Supabase Realtime Subscription Service infrastructure
- Notification Accessibility Announcer infrastructure
- Notification Tab Badge ui