Configure Push Notification Preferences
The Settings screen provides a notifications card section where users can enable or disable individual notification categories (assignment dispatches, reminders, activity follow-ups, coordinator alerts, etc.) and adjust delivery timing preferences. Toggle controls represent each notification type, with clear labels and sufficient contrast. Changes are persisted locally via shared_preferences for immediate UI feedback and synced to the Supabase user profile via Riverpod async notifiers so the same preferences apply on any device the user signs into.
User Story
Acceptance Criteria
- Given I open the notifications settings section, when the screen loads, then I see a list of toggleable notification categories relevant to my role
- Given I toggle a notification type off, when the change is saved, then I no longer receive push notifications of that type
- Given I toggle a notification type on, when the change is saved, then push notifications of that type resume immediately
- Given I change a notification preference on one device, when I sign into the app on another device, then the same notification preference is applied
- Given the device is offline, when I toggle a notification preference, then the change is applied locally immediately and synced to Supabase once connectivity is restored
Business Value
Notification fatigue causes peer mentors to disable all notifications, causing missed assignment dispatches and follow-up failures. Granular notification control ensures critical encrypted assignment alerts are not missed while reducing unnecessary interruptions. HLF's workshop survey found 40% of peer mentors felt under-followed-up, and notification preferences are key to addressing this without overwhelming users.
Components
- Settings Screen ui
- Settings Card Widget ui
- Preferences Service service
- Preferences Repository data