Scaffold CoordinatorEscalationNotificationCard widget
epic-assignment-follow-up-reminders-ui-task-003 — Create the Flutter widget for CoordinatorEscalationNotificationCard shown exclusively to coordinators when a reminder escalates. The card must be visually distinct from the peer mentor card (different accent colour, escalation icon) and display the peer mentor's name, assignment context, and elapsed days. Apply design tokens consistently and ensure the visual distinction is perceptible without relying on colour alone.
Acceptance Criteria
Technical Requirements
Implementation Notes
Extract shared card structure (elapsed days, summary, CTA) into a private helper widget or mixin shared between ReminderNotificationCard and CoordinatorEscalationNotificationCard to avoid duplication — but only if the shared structure is stable. If the two cards are likely to diverge further, keep them independent. The escalation icon must communicate urgency through both shape and colour: use a warning-triangle (`Icons.warning_amber_rounded`) not just a colour change. Store the escalation accent colour as a named design token (e.g., `AppColors.escalationAccent`) rather than referencing a raw colour value.
File location: `lib/features/notifications/widgets/coordinator_escalation_notification_card.dart`.
Testing Requirements
Widget tests using flutter_test: (1) all five data fields render correctly with sample inputs; (2) escalation icon is present in the widget tree; (3) CTA button tap invokes onNavigate; (4) no RenderFlex overflow at 375px and 414px widths; (5) the card is visually distinct from ReminderNotificationCard — verify the accent colour token used differs (check widget tree for the correct token reference). Optionally add a golden test to lock the escalation-specific visual treatment.
The deep-link from the notification card to the assignment detail screen depends on the assignment detail route being stable and accepting an assignment ID parameter. If the routing contract is undocumented or changes during parallel development, the CTA will silently navigate to a fallback screen.
Mitigation & Contingency
Mitigation: Confirm the assignment detail route path and parameter contract with the team building or maintaining that screen before implementing the CTA. Add an integration test that asserts navigating from a mock notification card with a known assignment ID lands on the correct route.
Contingency: If the route is unstable, implement the deep-link as a late-bound string resolved from a central route registry, allowing the target route to be updated without changing the notification card.
Visually distinguishing escalation cards from standard reminder cards using colour alone fails WCAG 1.4.1 (use of colour). Blindeforbundet users relying on screen readers must receive equivalent contextual information through semantics, not just visual styling.
Mitigation & Contingency
Mitigation: Use both colour and an icon/label difference to distinguish card types. Add explicit Semantics widgets with descriptive labels ('Escalation alert: peer mentor has not responded') so screen readers announce the type without visual context.
Contingency: If accessibility review flags the distinction, add a text badge ('Escalation') alongside the visual treatment as a code-change-only fix with no schema or service impact.