Wire profile deep-link in PauseNotificationCard
epic-pause-status-notifications-ui-task-004 — Implement the tap handler on the quick-action link in PauseNotificationCard so it navigates to the peer mentor's profile detail screen. Use the existing deep-link handler and notification deep-link routing infrastructure. Pass the mentor ID from the notification payload to resolve the correct profile route.
Acceptance Criteria
Technical Requirements
Execution Context
Tier 3 - 413 tasks
Can start after Tier 2 completes
Implementation Notes
Use the existing deep-link handler (e.g., a GoRouter `context.push` or named route) already used by other notification card types — do not introduce a new routing pattern. Extract the mentor ID from the notification payload model field (not from raw FCM data). Guard against null mentor ID with an early return in the `onTap` callback. The quick-action link widget should pass the `mentorId` as a constructor parameter so it is testable in isolation.
Avoid storing navigator state in the card widget itself; delegate entirely to the router.
Testing Requirements
Widget tests: verify that tapping the quick-action link emits the correct navigation event with the expected mentor ID; verify that a null/invalid mentor ID produces no navigation event and no exception. Integration smoke test: confirm the route resolves to the peer mentor detail screen in a pumped widget tree with a mock router. Accessibility: verify the tap target meets the 48x48dp minimum and has a semantic label.
The existing notification feed component may expect a specific notification model shape that does not map cleanly to the pause notification payload structure, requiring either payload transformation or feed refactoring.
Mitigation & Contingency
Mitigation: Review the notification-list-item and notification-model contracts before building the card. Design the pause-notification-card to extend or wrap the existing list item pattern rather than replacing it.
Contingency: If the feed contract is incompatible, implement a lightweight adapter that maps the pause notification payload to the feed's expected model shape, keeping the adapter isolated from the core card widget.
The app's existing toast/banner infrastructure may not support the auto-dismiss timeout duration or dismissal animation required for the peer mentor confirmation banner, necessitating a custom implementation that diverges from the design system.
Mitigation & Contingency
Mitigation: Audit the existing banner and toast components (in-app-notification-banner, notification-list-item) for configurable dismiss timeout before starting implementation. Prefer configuration over custom code.
Contingency: If the existing infrastructure cannot be configured, implement the banner as a thin wrapper with a custom auto-dismiss timer while reusing all visual tokens (colours, spacing, typography) from the design system to maintain consistency.