Deep-link Navigation from Notification to Relevant Screen
Each notification record contains a deep_link_path string that encodes the destination route and the relevant entity ID (e.g. /contact/123, /certification/456, /activity/new). When a notification list item is tapped, the notification-deep-link-handler parses this path and uses the app router to push the corresponding named route with the correct parameters. If the destination entity no longer exists (e.g. a deleted contact), the handler shows an inline error toast rather than crashing. Returning from the destination pops back to the notification centre with the scroll position preserved.
User Story
Acceptance Criteria
- Given a notification with a contact deep link is tapped, when the handler resolves the route, then the contact detail screen for the referenced contact opens.
- Given a notification with a certification expiry deep link is tapped, when the route is resolved, then the certification renewal screen opens pre-loaded with the relevant certification record.
- Given a notification with an activity registration deep link is tapped, when the route is resolved, then the activity registration wizard opens with default values relevant to the notification context.
- Given the deep link references an entity that has been deleted, when the handler attempts to resolve it, then an accessible toast message is displayed explaining the referenced item no longer exists.
- Given the peer mentor returns from the deep-linked screen, when the back navigation fires, then the notification centre is restored with the same scroll position and filter state.
Business Value
Deep linking collapses the path from awareness to action into a single tap. For time-sensitive workflows like overdue assignment reminders or certification expiry alerts, every extra navigation step increases the likelihood the peer mentor abandons the task. Validated in workshop feedback: volunteers explicitly requested that notifications lead them directly to the relevant action without manual navigation.
Components
- Notification Deep Link Handler service
- Notification List Item ui
- Notification BLoC service
- Notification Domain Model data
- Notification Deep Link Handler service
- Deep Link / OAuth Redirect Handler infrastructure
Dependencies
- View Consolidated Notification Feed critical