Axon 911 Frontend Docs
    Loading navigation…
U
User
Switch to light mode
  1. Blocks
  2. Notifications Inbox
  3. Usage

Notifications inbox

Usage

Overview
NotificationsInbox from @prepared911/ui/blocks/notifications-inbox is the design-system inbox pattern. The shell passes notification rows, the unread tally, load status, and every handler. The block composes NotificationItem rows inside a non-modal Drawer, filters them, and reports actions back. It does not fetch, store, or route. Compose three parts under one root:
Place NotificationsInboxTrigger in the app bar and NotificationsInboxPanel elsewhere in the shell tree. Both must stay under the same NotificationsInbox root.
What the shell provides
InputRequiredNotes
entriesyesUp to 200 rows after the block sorts newest-first. Fold detections upstream. An entry's optional group ({ id, label }) adds a heading before each run of consecutive entries that share the id.
unreadCountyesCounter on the trigger, including entries not loaded yet. Not derived from entries. Its color is the urgency ladder row of the most severe unread loaded entry: S1 neutral, S2 informative, S3 success, S4 warning, S5 destructive.
statusyesReady, Loading, or Error.
open / onOpenChangeyesControlled panel state.
onRetryyesLoad failure retry.
onGoToyesNavigation, called when the person activates a row; the block closes the panel afterward.
onMarkRead, onActionyesForwarded to each row. Mark as read appears on unread rows only. The feed stores only per-person read state, so there is no Mark as unread or Dismiss.
hasMore, loadingMore, onLoadMorenoPaging. When hasMore is true and the person scrolls to the end, the block calls onLoadMore once; set loadingMore while the page loads. It stops at 200 entries and never fetches.
filter / onFilterChangenoControlled filter; omit for uncontrolled All with reset on open.
nownoISO 8601 reference instant for the "today" check on every row. Omit to use the clock.
Copy propsyesEvery visible string, including NotificationItem row copy.
Group headings
Give entries a group to have the panel render a small subtle heading before each run of consecutive entries that share group.id, for example Today and Earlier. The host or router decides the groups; the block does not derive them from time. Entries without a group get no heading. While the Unread filter is on, only groups that still have a row keep their heading. The panel draws no dividers between rows or groups.
Stories
  • Default
  • K8 supervisor break
Previous
Control Island / Accessibility
Next
Notifications inbox / Accessibility
On this page
Overview
What the shell provides
Group headings
Stories