shadcn.io is not affiliated with official shadcn/ui
Split Layout Notification Stack Hero Block for React
A reverse split hero for a notifications product: a panel flush to the start rail with a stack of notification cards, then a divider, the headline, three checks and a Shine Button.
Installation
Overview
A reverse split-layout hero with a stack of notification cards, for React with Base UI, between solid rails. A tinted panel runs flush to the start rail, with a header band ("Notifications" and a count) whose bottom rule carries + marks where it meets the rail and the divider, then five cards, a deployment, a new teammate, a blocked login, a delivered digest and a payment, each with a neutral icon disc (the login alert's icon is in the theme's destructive colour), a title, a description and how long ago it arrived. Two more card edges peek out under them and fade away, like a stack that goes on. Below lg the panel shows three cards. At the end, behind the divider, sit an announcement pill, the headline, a sentence, a three-point checklist, a ShineButton and an outline Button, both links. The cards settle in one after another with a CSS transition that stays still under reduced motion. It's built from Announcement, Status, Shine Button, Button, Badge, Guides and Item with Lucide icons and Tailwind CSS. Made for communication platforms, monitoring and alerting tools, and any product where real-time notifications are the selling point.
FAQ
How do I change the notifications?
Edit NOTIFICATIONS. Each entry has a title, a description, a Lucide icon and a time, and an optional alert, which gives its icon the theme's destructive colour (mixed toward the foreground so it stays readable in dark themes). The header counts the entries, so it stays right when you add or remove a card. Keep the times relative, like "2 min ago", so they never go stale. From the fourth card on, the cards are hidden below lg (index > 2), so change that number to show more or fewer on a phone.
How do I show real notifications from my backend?
Fetch the latest few from your notifications API and map each one to the same fields: its type to an icon (and alert for the urgent ones), its body to description, and its timestamp to a relative time.
With React, render them on the server or poll with your data library of choice; a list that updates while the page is open should also take aria-hidden and inert off the panel and announce new arrivals in a polite live region.
How do screen readers read the hero?
The headline is the block's one h1, the checklist is a list with its ticks hidden, and the pill and both calls to action are links named by their text. The stack is a preview, not a feed: the whole panel is aria-hidden and inert, so screen readers skip it and nothing in it takes focus.
How does the hero adapt to phones and tablets?
The two halves stack below the lg breakpoint, with the copy first and the panel under it, so the Shine Button is on the first screen. The panel shows three cards and the peeking edges there, and all five from lg, where it also takes a little less width than the copy (lg:grid-cols-[1fr_1.1fr], the panel at the start). Each description wraps instead of being clipped.
How does the staggered entrance work?
Each card fades and rises from its starting style, Tailwind's starting: variant, with a transitionDelay that grows by 120 ms per card. It's plain CSS, so it plays once as the block appears, needs no animation library, and motion-reduce:transition-none shows the cards at once for visitors who ask for less motion.
When should I use this hero instead of a dashboard preview?
Use the notification stack when real-time alerts and messaging are what your product does: a few cards say "communication" faster than a chart. Use a dashboard preview when the value is in data and analytics, and an activity feed when the story is a stream of events rather than alerts.
Related
- Pro
Centered Activity Feed Hero
Stats and live dataA split hero with a live pill, a headline and two actions beside a ruled feed of recent activity, each row with an avatar, a name, an action and how long ago.
- Pro
Centered Uptime Status Rows Hero
Stats and live dataA showcase centered hero for an API platform, with a live status pill, a Shine Button and a status panel of full-width bands: five services' uptime over the last 30 days.
- Pro
Split Layout Progress Tracker Hero
Updates and timelinesA compact split hero for a client onboarding portal: a Shine Button and an outline link at the start, and a five-step setup tracker with a progress bar in a hairline frame at the end.
- Pro
Dashboard Preview Hero
Product windowsA showcase hero with a headline, a Shine Button, an outline button and a trust line above a wide browser window in a hairline frame, a greyscale sketch of an analytics dashboard that runs on below the fold.
- Pro
Reverse Split News List Hero
Updates and timelinesA reverse split hero on drafting lines for a team docs workspace: a greyscale product illustration beside an announcement pill, the headline, a ruled list of the latest updates as links, a Shine Button and a second action.
- Pro
Centered Feature Cards Grid Hero
Features and tablesA showcase hero between solid rails: an announcement link, a centred headline and a Shine Button, over three feature cells with overshooting hairlines, each led by a greyscale vignette of the feature.