GodUI

Notification Inbox

A Linear-style notification center with time-bucketed groups, unread accent rails, swipe-to-archive, mark-all-read, and a polished empty state.

Inbox

2
Today
  • Archive
    Unread
  • Archive
    Unread
  • Archive
Earlier
  • Archive
  • Archive

Swipe a row left to archive. Click to mark as read.

Installation

pnpm dlx shadcn@latest add "https://godui.design/r/notification-inbox.json"

Notifications group by their group label with sticky headers and an unread count badge. Drag a row left past the threshold to archive it; Mark all read clears the unread state. An empty list shows a gentle caught-up state.

Usage

tsx
 
import { NotificationInbox } from "@/components/godui/notification-inbox";
tsx
 
<NotificationInbox
  notifications={items}
  onRead={markRead}
  onArchive={archive}
  onMarkAllRead={markAllRead}
/>

Props

PropTypeDefaultDescription
notificationsNotification[]Items to render, grouped by group.
onRead(id: string) => voidFired when a row is clicked.
onArchive(id: string) => voidFired when a row is swiped away.
onMarkAllRead() => voidFired by the mark-all-read action.
titlestring"Inbox"Header title.

On this page

Built with GodUI

Beautifully crafted motion components for modern interfaces.

Star on GitHub