Notification Inbox
🎬 Simulate:

Notification Inbox

Panel This panel is opened by clicking the 🔔 bell icon in the navigation bar. Shown here as a standalone page for prototype review.

Screen Flow (from flow.puml):

→ select notification → navigate to context page → mark all as read → stays on panel (count → 0) → close panel → exit
📝 Spec notes — UC-NOT.03 / SCR-NOT.06 (fields, actions, requirements)
Identity
  • Screen: SCR-NOT.06 — Notification Inbox (panel)
  • Use case: UC-NOT.03 — View Notification Details
Brief description

Dropdown panel opened from the bell icon — displays in-app notifications sorted newest first, divided into Unread / Read groups. User taps a notification to navigate to relevant context, or taps "Mark all as read" to clear all unread. Panel closes on outside click.

Fields
  • unread_count "Unread count" — number · computed · InAppNotification.is_read · read-only · Header
  • notification_title "Title" — text · InAppNotification.title · read-only · Notification list
  • notification_body_preview "Summary (truncated)" — text · max 100 chars · InAppNotification.body · read-only · Notification list
  • notification_time "Time" — datetime · relative format ("2 minutes ago") · InAppNotification.created_at · read-only · Notification list
  • is_read "Read status" — boolean · InAppNotification.is_read · read-only · Notification list
  • empty_message "Empty state message" — literal "No notifications yet" · visible when notification_count == 0 · Empty state
Actions
  • select_notification "Select notification" — always enabled · marks as read + navigates to context page · triggers UC-NOT.03-M-2
  • mark_all_read "Mark all as read" — enabled when unread_count > 0 · triggers UC-NOT.03-A-2A-1
Additional requirements
  1. Unread items have a visually distinct background color or indicator, clearly differentiated from read items.
  2. Time is displayed in relative format ("2 minutes ago", "Yesterday") rather than absolute timestamp.