Skip to content
UI Kit
Accent color

Notifications

Inbox, audit log, bell popover, channel preferences, weekly digest and a changelog feed. Complete screens in an app frame, with their own phone layouts.

6 variants
Switch category

Notifications

Notification center

Tabs with counts, grouped by day, unread markers, invites to accept and replies right in the list.

Bell popover

An app bar whose bell opens a list with tabs. Arrow keys move, Escape closes. Phones get a bottom sheet.

Audit log

A dense table with type filters, search and period. Details with a JSON diff dock beside it, phones get a list and a sheet.

Channel preferences

Channels with master switches, a matrix of events and channels, quiet hours and a digest. Phones get one card per event.

Weekly digest

The week in one screen. A summary, key numbers with daily bars, what needs attention, highlights, people and dates.

Product updates

A changelog feed with version, type, pictures and reactions. Unread entries are marked, the side column holds subscription and roadmap.

Details

What Notifications brings along, read from the registry and the source.

Area
App
Variants
6
Version
1.0.2 · since 1.0.0
File
components/ui/notifications.tsx
Brings along
utilskitbuttoniconsidebarswitch
npm packages
None
Languages
English and German, 133 texts of its own
Studio
Adjust in code
In collections
App dashboard

Props

The NotificationsProps interface from components/ui/notifications.tsx, with the comments from the code.

  • variantoptional
    NotificationsVariant

    centeraudit-logpopoverchannel-settingsdigestannouncements

  • sidebaroptional
    Omit<SidebarProps, 'children'>

    App frame for every variant except popover

  • titleoptional
    string
  • subtitleoptional
    string
  • actionsoptional
    React.ReactNode
  • itemsoptional
    NotificationEntry[]

    center, popover

  • incomingoptional
    NotificationEntry[]

    center and popover: notifications that arrive while the page is open (they fly in after a moment)

  • settingsHrefoptional
    string

    center, popover: where the settings or the full list live

  • allHrefoptional
    string
  • eventsoptional
    AuditEvent[]

    audit-log

  • defaultSelectedoptional
    string

    audit-log: the event shown in the detail panel at first (wide screens)

  • channelsoptional
    Channel[]

    channel-settings

  • groupsoptional
    { title: string; events: EventPreference[] }[]
  • quietHoursoptional
    { on?: boolean; from?: string; to?: string; days?: number[]; urgent?: boolean }
  • digestoptional
    { frequency?: 'off' | 'daily' | 'weekly'; time?: string; next?: { daily: string; weekly: string } }
  • onSaveoptional
    (prefs: unknown) => void
  • weeksoptional
    DigestWeek[]

    digest: oldest first, the last one is shown

  • announcementsoptional
    Announcement[]

    announcements

  • roadmapoptional
    { title: string; when: string }[]
  • appoptional
    { brand: { name: string; logo?: React.ReactNode }; nav?: string[]; user: string }

    popover: the app bar and the page behind

  • pageoptional
    React.ReactNode
  • defaultOpenoptional
    boolean
  • currencyoptional
    string

Built-in texts

Notifications writes these texts itself. The language follows the KitProvider, the labels prop replaces single ones.

Show all 133 texts
allEnglish AllGerman Alle
mentionsEnglish MentionsGerman Erwähnungen
assignedEnglish AssignedGerman Zugewiesen
archiveEnglish ArchiveGerman Archiv
unreadTabEnglish UnreadGerman Ungelesen
tabsEnglish Filter notificationsGerman Benachrichtigungen filtern
markAllReadEnglish Mark all as readGerman Alle als gelesen markieren
markReadEnglish Mark as readGerman Als gelesen markieren
markUnreadEnglish Mark as unreadGerman Als ungelesen markieren
toArchiveEnglish ArchiveGerman Archivieren
restoreEnglish Move back to inboxGerman Zurück in den Eingang
unreadLabelEnglish UnreadGerman Ungelesen
acceptEnglish Accept inviteGerman Einladung annehmen
declineEnglish DeclineGerman Ablehnen
acceptedEnglish You joined {target}German Du bist jetzt in {target}
declinedEnglish Invite declinedGerman Einladung abgelehnt
replyEnglish ReplyGerman Antworten
replyToEnglish Reply to {name}German Antwort an {name}
replyPlaceholderEnglish Write a replyGerman Antwort schreiben
sendEnglish Send replyGerman Antwort senden
sentEnglish Reply sentGerman Antwort gesendet
allReadEnglish All notifications marked as readGerman Alle Benachrichtigungen als gelesen markiert
undoEnglish UndoGerman Rückgängig
archivedOneEnglish ArchivedGerman Archiviert
restoredOneEnglish Moved back to the inboxGerman Zurück im Posteingang
emptyTitleEnglish You are all caught upGerman Du bist auf dem neuesten Stand
emptyTextEnglish New mentions, assignments and invites land here.German Neue Erwähnungen, Aufgaben und Einladungen erscheinen hier.
emptyArchiveEnglish Archived notifications show up here.German Archivierte Benachrichtigungen erscheinen hier.
summaryEnglish {n} unread, {m} waiting for youGerman {n} ungelesen, {m} warten auf dich
glanceEnglish At a glanceGerman Auf einen Blick
unreadCountEnglish UnreadGerman Ungelesen
waitingEnglish Waiting for youGerman Warten auf dich
fromEnglish Most activeGerman Am aktivsten
settingsEnglish Notification settingsGerman Einstellungen für Benachrichtigungen
notificationsEnglish NotificationsGerman Benachrichtigungen
openNotesEnglish Notifications, {n} unreadGerman Benachrichtigungen, {n} ungelesen
closeEnglish CloseGerman Schließen
viewAllEnglish View all notificationsGerman Alle Benachrichtigungen ansehen
keysEnglish to moveGerman zum Wechseln
escapeEnglish to closeGerman zum Schließen
searchEnglish SearchGerman Suchen
accountEnglish AccountGerman Konto
searchAuditEnglish Search actor, action, resource or IPGerman Person, Aktion, Ressource oder IP suchen
searchShortEnglish Search eventsGerman Ereignisse suchen
categoryEnglish Event typeGerman Ereignisart
accessEnglish AccessGerman Zugriff
changesEnglish ChangesGerman Änderungen
billingEnglish BillingGerman Abrechnung
securityEnglish SecurityGerman Sicherheit
rangeEnglish PeriodGerman Zeitraum
day1English Last 24 hoursGerman Letzte 24 Stunden
day7English Last 7 daysGerman Letzte 7 Tage
day30English Last 30 daysGerman Letzte 30 Tage
timeEnglish TimeGerman Zeit
actorEnglish ActorGerman Person
actionEnglish ActionGerman Aktion
resourceEnglish ResourceGerman Ressource
originEnglish IP and locationGerman IP und Ort
detailsEnglish Show detailsGerman Details zeigen
eventDetailsEnglish Event detailsGerman Ereignisdetails
closeDetailsEnglish Close detailsGerman Details schließen
diffEnglish ChangesGerman Änderungen
noDiffEnglish This event changed no fields.German Dieses Ereignis hat keine Felder geändert.
deviceEnglish DeviceGerman Gerät
ipEnglish IP addressGerman IP-Adresse
locationEnglish LocationGerman Ort
eventIdEnglish Event IDGerman Ereignis-ID
copyEnglish Copy event IDGerman Ereignis-ID kopieren
copiedEnglish Event ID copiedGerman Ereignis-ID kopiert
eventsEnglish {n} eventsGerman {n} Ereignisse
noResultsEnglish No events match these filtersGerman Keine Ereignisse zu diesen Filtern
resetEnglish Reset filtersGerman Filter zurücksetzen
failedEnglish FailedGerman Fehlgeschlagen
successEnglish SucceededGerman Erfolgreich
channelsEnglish ChannelsGerman Kanäle
channelsTextEnglish Where notifications reach you. A channel that is off overrides every event below.German Wo dich Benachrichtigungen erreichen. Ein ausgeschalteter Kanal gilt für alle Ereignisse darunter.
eventsTitleEnglish EventsGerman Ereignisse
eventsTextEnglish Choose per event which channels it uses.German Lege je Ereignis fest, über welche Kanäle es kommt.
eventEnglish EventGerman Ereignis
lockedEnglish Always on, required for securityGerman Immer an, für die Sicherheit nötig
channelOffEnglish Channel is offGerman Kanal ist aus
onEnglish OnGerman An
offEnglish OffGerman Aus
connectEnglish ConnectGerman Verbinden
notConnectedEnglish Not connectedGerman Nicht verbunden
quietEnglish Quiet hoursGerman Ruhezeiten
quietTextEnglish Push and chat stay silent. Email waits until the period ends.German Push und Chat bleiben still. E-Mails warten, bis die Ruhezeit endet.
quietOnEnglish Use quiet hoursGerman Ruhezeiten nutzen
fromTimeEnglish FromGerman Von
toTimeEnglish UntilGerman Bis
daysEnglish DaysGerman Tage
urgentEnglish Let urgent alerts throughGerman Dringendes durchlassen
urgentTextEnglish Failed payments and new sign-ins still arrive.German Fehlgeschlagene Zahlungen und neue Anmeldungen kommen trotzdem.
digestEnglish DigestGerman Zusammenfassung
digestTextEnglish Everything you missed, bundled in one email.German Alles Verpasste gebündelt in einer E-Mail.
digestOffEnglish OffGerman Aus
digestOffTextEnglish Only live notificationsGerman Nur Sofortmeldungen
dailyEnglish DailyGerman Täglich
dailyTextEnglish Every morningGerman Jeden Morgen
weeklyEnglish WeeklyGerman Wöchentlich
weeklyTextEnglish Every MondayGerman Jeden Montag
sendAtEnglish Send atGerman Senden um
nextDigestEnglish The next one arrives {when} at {time}.German Die nächste kommt {when} um {time} Uhr.
unsavedEnglish You have unsaved changesGerman Es gibt ungespeicherte Änderungen
discardEnglish DiscardGerman Verwerfen
saveEnglish Save preferencesGerman Einstellungen speichern
savedEnglish Preferences savedGerman Einstellungen gespeichert
keyNumbersEnglish Key numbersGerman Kennzahlen
vsLastEnglish vs. previous weekGerman zur Vorwoche
prevWeekEnglish Previous weekGerman Vorherige Woche
nextWeekEnglish Next weekGerman Nächste Woche
highlightsEnglish HighlightsGerman Höhepunkte
attentionEnglish Needs your attentionGerman Braucht deinen Blick
markDoneEnglish Mark as doneGerman Als erledigt markieren
markOpenEnglish Mark as openGerman Wieder öffnen
openEnglish OpenGerman Öffnen
dueEnglish Due {when}German Fällig {when}
nothingLeftEnglish Nothing left to look at this week.German Diese Woche ist nichts mehr offen.
peopleEnglish Most activeGerman Am aktivsten
upcomingEnglish Coming upGerman Als Nächstes
allUpdatesEnglish All updatesGerman Alle Neuerungen
tagNewEnglish NewGerman Neu
tagImprovedEnglish ImprovedGerman Verbessert
tagFixedEnglish FixedGerman Behoben
helpfulEnglish HelpfulGerman Hilfreich
readMoreEnglish Read the full noteGerman Ganze Notiz lesen
newForYouEnglish New for youGerman Neu für dich
subscribeEnglish Release emailsGerman Release-Mails
subscribeTextEnglish One short email when something ships.German Eine kurze E-Mail, wenn etwas erscheint.
subscribeLabelEnglish Email me new releasesGerman Neue Versionen per E-Mail
majorOnlyEnglish Only major releasesGerman Nur große Versionen
roadmapEnglish Coming soonGerman Demnächst
updatesFilterEnglish Filter updatesGerman Neuerungen filtern

Accessibility

Read from the source of the component.

  • Notifications handles the keys Escape, Arrow up, Arrow down, Arrow left, Arrow right, Home, End, Tab and Space itself.
  • Sets aria-checked, aria-controls, aria-current, aria-expanded, aria-haspopup, aria-label, aria-labelledby, aria-live, aria-modal, aria-pressed and aria-selected, so screen readers announce purpose and state.
  • Uses the roles dialog, group, img, radio, radiogroup, status, tab, tablist and tabpanel.
  • Announces changes through a live region without moving focus.
  • Every field has a label, visible or for screen readers.
  • Adds text for screen readers where icons and graphics stand alone.
  • Shows a visible focus ring when used with the keyboard.
  • The server renders the starting state in full, JavaScript only adds the interaction.

Motion

  • Rises in briefly the first time it comes into view (kit-rise, useInView).
  • Brings animations of its own, calmly timed and without wobble.
  • With reduced motion (prefers-reduced-motion) it stays still. 6 places in the code switch motion off then.

Frequent questions

How do I install Notifications?

With aiw add @ai-website/notifications. The command puts components/ui/notifications.tsx into your project, the code is yours from then on. It brings along button, icon, sidebar and switch. It needs no further npm packages.

Which variants does Notifications have?

6 variants, Notification center, Bell popover, Audit log, Channel preferences, Weekly digest and Product updates. You pick one with the variant prop, for example variant="popover".

Can I translate the texts of Notifications?

Yes. Notifications carries 133 texts of its own in English and German, such as “All”, “Mentions” and “Assigned”. The language follows the KitProvider, single texts change through the labels prop.

Can an AI assistant build with Notifications?

Yes. Through the MCP server of the aiw CLI, Claude, Cursor, GitHub Copilot, Windsurf, Codex and Gemini find Notifications with aiw_components and install it with aiw_add @ai-website/notifications. Name the variant in your prompt, for example variant="center", and the assistant writes your content straight into the props.

Often searched

Jump to

Copied to the clipboard