shadcn.io is not affiliated with official shadcn/ui
Notification Centre Testimonials Block for React
A reverse split: a notification window in a hairline frame where customer praise arrives as unread rows, with a new-count badge, rows that mark themselves read and a Mark all as read button, beside a header with a Shine Button.
Installation
Overview
Customer praise shown the way your own product delivers news. On a desktop the window is on the left, in a frame with + marks on its corners, and on the right a header for Handrail, a workspace for design handoff, with a Shine Button and two figures pinned to the foot. The window has a title bar with a "3 new" badge and a "Mark all as read" button above five rows, each with the customer's initials, name, role, a one-line quote, how long ago it arrived and a blue dot while it is unread. Pressing a row marks that one read, and pressing the button clears them all, so the badge counts down to "All read" and the button turns into "Restore unread" to run it again. Nothing is saved: it is a demo of a feature, for product pages whose audience already lives in an inbox. On a phone the header and button come first, then the window. It's built from Guides, Item, Avatar, Status, Badge, Button and Shine Button, with CSS only and your theme's tokens.
FAQ
How do I change the notifications?
Edit NOTES at the top of the file: each has a quote, the customer's name, role and initials, and a relative time. SEEN lists the ids that start out read; every other note starts unread, and the badge is worked from the list, so adjust the header sentence ("Five notes… three of them still unread") if you add or remove rows. FACTS holds the two figures under the header.
How do I operate it with the keyboard?
Each row has a check button, named "Mark as read" with the customer's name, which reports whether it is pressed; press Enter or Space on it to toggle that row. With a mouse or a finger you can press anywhere on the row, because the button stretches over it. The "Mark all as read" button at the top works the same way and keeps focus when it turns into "Restore unread".
What do screen readers hear?
Every row is a figure with the customer as its caption and the words as a blockquote, and an unread row starts with the word "Unread". The dot is decorative. After each change one polite status line says what happened, for example "Marked read: Lena Hoffmann. 2 new."
Is anything saved or sent?
No. Read and unread live in the component's state and reset when the page reloads, which is why the button can restore them. To make a real inbox, load the notes from your own API and call it from toggle and toggleAll.
Related
- Pro
Bubble Chat Testimonials
Chats and postsA reverse split on drafting lines: a group chat of five dispatchers in a hairline frame, alternating message bubbles with a name, role and relative time above each, beside a header and one Shine Button.
- Pro
Reaction Pills Testimonials
Chats and postsA launch-week chat in a split: the headline and a Shine Button in a rail, and four messages ruled apart by hairlines, each with celebrate, love and ship-it reaction pills that really toggle and count.
- Pro
Conversation Thread Testimonials
Chats and postsAn email-style thread for a tracing tool that turns a sceptic into an advocate, in a framed window beside a hairline divider: a subject line, earlier messages folded behind a disclosure row, the two latest open, and a Shine Button.
- Pro
Social Post Style Testimonials
Chats and postsSix customer testimonials styled as social posts in cells with overshooting lines: initials avatar, verified tick, handle and age, the post and compact reply, share and like counts, with a Shine Button in the header.
- Pro
Inset Notification Toast Preview CTA
Product previewsA card-in-card call to action for a team inbox with a working notification tray: the pitch and a Shine Button beside a tray where a button fires toasts, newest on top, each with Undo and close.
- Pro
Docblock Quote Testimonials
Chats and postsA split testimonial for a build tool: the headline and a Shine Button on the left, and on the right one customer quote written as a code docblock in an editor window framed by hairline corners, with line numbers, comment colours and the author as @author and @role tags. It follows the theme.