Skip to content
shadcn.io

shadcn.io is not affiliated with official shadcn/ui

Split Layout Email Inbox Hero Block for React

A reverse split hero for an email app: a wide three-pane inbox that runs flush to the page's start rail, then the headline, a Shine Button and three ticks, above a band of three figures.

Framework
UI library

Preview

Preview width

Installation

Part of Pro
Pro unlocks the code and one-line install of every Pro button and text effect, plus the MCP for your AI editor.
Have Pro already? Sign in to open it.Opens here as soon as you're Pro.

Overview

A reverse split hero for Driftmail, a keyboard-first email app. On the start side a wide email client runs flush to the page's start rail and fades out at its foot: a folder rail (Inbox and Starred with their unread counts, then Sent), six messages with the sender's initials, a time, a subject and a one-line snippet, and a reading pane for the open message with a Reply, Archive and Snooze row. The unread message is bold with a dot, the starred one has a star, and the open one is marked with a bar. A divider runs down the middle, and on the end side come an announcement link, the headline, a Shine Button with an outline second action and three ticks. A closing band of three figures, ruled with + marks, ends the hero. For email clients, productivity apps, team collaboration tools and inbox-zero products.

FAQ

How do I change the folders and the messages?

Edit the constants at the top of the file. Each entry in FOLDERS has a label, a Lucide icon, its unread count (0 shows none) and whether it's the active folder. Each entry in EMAILS has the sender's initials and name, a subject, a snippet and a time, plus three flags: unread makes it bold with a dot, starred swaps the dot for a star, and selected marks it as the open message. The reading pane's lines are decoration, and BODY_LINES sets their widths. Write times as a time of day or a relative day ("Yesterday", "Mon") so the inbox never looks out of date.

Can I fill the inbox from a real mail account?

Yes: load the messages from your API instead of the EMAILS constant, in the same shape, and derive each folder's count from the number of unread messages in it. In the hero the inbox stays a picture, though: its rows aren't links or buttons.

Which colours do the unread dot, the star and the open message use?

Foreground tones: the unread dot and the star are the foreground colour, and the open message sits on a light muted fill with a foreground bar on its leading edge, so the Shine Button stays the only primary control. Unread counts are a secondary Badge. Change a theme token and the inbox follows, in light and dark mode alike.

How does a screen reader read the hero?

It reads the announcement link, the headline (the block's one h1), the paragraph, the two links, the three ticks and the figures in the band. The inbox is a picture of the product, so it's hidden from screen readers and inert, out of the tab order; anything a visitor must know belongs in the copy beside it.

How does the inbox fit on a phone?

The two columns stack below the lg breakpoint with the text first, then a rule with + marks and the inbox, still flush to its rail. The reading pane appears only when the window is wide enough for it, so on phones and tablets you see the folder rail and the messages. Below sm the folder rail keeps only its icons, which leaves the messages the room for their sender, time and subject; every line shortens with an ellipsis rather than wrapping. Nothing scrolls sideways down to 320 px.

What moves, and can I turn it off?

The copy fades and rises in on load, and the inbox fades and settles in just after it. It's all CSS, with no animation library, and nothing loops. With reduced motion on, both columns appear in place.

  • Pro

    A split hero for an AI assistant: a headline, a Shine Button and a second action beside a chat app sketched in skeleton bars that runs off a tinted panel, closed by a band of three feature cells.

  • Pro

    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.

  • Pro

    A reverse split hero for a scheduling tool: a working booking page in a hairline frame with plus marks on its corners (step through weeks, pick a day and a time) beside a headline, a Shine Button and three ticks.

  • Pro

    A reverse split hero for a sprint planner: a wide board window that runs flush to the start rail and fades at its foot, with a card mid-drag over a drop slot, then a divider and the copy with a Shine Button.

  • Pro

    A compact split hero for an audio product: copy and a Shine Button beside a narrow music player on a tinted panel behind a divider, with a waveform and a queue.

  • Pro

    Split Avatar Grid Hero

    Logos and social proof

    A compact split team hero: a headline, a Shine Button, a second action and a line of team facts beside a two-by-two grid of large avatars with names and roles in cells that share hairlines.