shadcn.io is not affiliated with official shadcn/ui
Phone Trio App Download Hero Block for React
A centered showcase hero for a mobile app: a headline, a Shine Button to the App Store with Google Play beside it and a proof line over a hairline band of three phones that run off the bottom.
Installation
Overview
A showcase hero with three phone mockups and links to both app stores, for React with Base UI. The section sits on the page's drafting lines: two rails at the edges of the page column that continue into the blocks above and below, and a rule along its top edge with a plus mark on each crossing. At the top, an announcement pill says Laneway, a mobile app for tasks and team chat, is out, then a centered headline, a subtitle, a primary ShineButton to the App Store and an outline Button to Google Play, both links, and a line of social proof. A band between the rails closes the block: three cells split by hairlines, each holding a phone drawn in CSS, with a notch, a home indicator and a sketch of the app on its screen, in greys with the theme's tokens: the inbox, today's tasks with a progress bar and two ticked off, and the week as a bar chart with a streak. The side phones sit lower than the middle one, and the band fades out at its bottom edge, so the phones run off the page. On a phone only today's tasks shows. It settles in with a CSS transition that stays still under reduced motion. It's built from Guides, Announcement, Status, Shine Button, Button and Avatar with Lucide icons and Tailwind CSS. Made for mobile app landing pages, app launches and any product whose best experience is on a phone.
FAQ
How do I put my app's screenshots in the phones?
Each screen is a small component at the top of the file (TodayScreen, InboxScreen, WeekScreen) built on Screen; edit TASKS, MESSAGES, WEEK and TABS to show your own app's words. For real screenshots, replace a screen inside its Phone with an img (or your framework's image component) with className="size-full rounded-[2rem] object-cover object-top". The screen is a 1:2 portrait, so a screenshot at a phone's own resolution, such as 1170 by 2532, fills it with a little cropped at the bottom. If a screenshot matters to the visitor, take aria-hidden and inert off the band and give each image an alt.
How do I link the buttons to my real store pages?
Replace each href="#" with your app's App Store and Google Play URLs. They're ordinary links, so they open in the same tab; leave them that way unless you have a reason not to, since a phone hands store links to the store app anyway. Each link's visible label is the store's name, and a visually hidden prefix gives it its full name for screen readers: Download on the App Store, Get it on Google Play.
On Base UI, each button renders its link with render={<a href="…" />} and nativeButton={false}.
How are the lines and plus marks drawn?
They are the Guides component, an aria-hidden layer that draws the lines of the box it sits in. The page column (max-w-6xl, the same in every block) has Guides bleed marks="top" rules="top": two side rails that run the section's full height, so they join the rails of the blocks above and below, and one rule along the top edge that runs to the page's edges, with a plus on each crossing. The block below draws the next rule, so a stack of blocks never doubles a line. Inside, the band's top edge is <Guides marks="top" rules="top" sides={false} />, a rule from rail to rail with a plus on each end, and the three cells are split by md:divide-x. The band runs to the end of the section, so the next block's top rule closes it. Every line is solid and is the theme's border colour, so it follows any preset.
How do screen readers read the hero?
The headline is the block's one h1, the proof line is a list whose separator is hidden, and the pill and both store buttons are links with full names. The phones are decoration: the whole band 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 headline wraps, balanced, from text-4xl up to text-6xl, and the two store buttons sit side by side or wrap, with the primary on the first screen of a phone. The band is 20rem tall below md and shows only the middle phone, so nothing scrolls sideways; from md it shows all three in a three-column band 27rem tall, and each phone's width steps from w-44 to w-52 at lg. A 1:2 aspect ratio sets each phone's height, and the band's fade hides where the phones are cut.
How do I change the look of the phones?
The bezel is a 6px border in foreground at 90%, so it's near black in a light theme and near white in a dark one, and the notch uses the same colour. Change the border-6 width, the rounded-[2.5rem] corners (with the screen's rounded-[2rem] inside them) or the notch's w-1/3 in Phone to match a particular device; leave the notch out for a hole-punch look. The side phones' mt-20 against the middle one's mt-10 sets how much lower they sit.
Related
- Pro
Split Phone Frame Hero
Mobile and mediaA split hero for a mobile app: copy, store links and social proof beside a phone frame that slides out of a hairline frame, cut off at its foot.
- Pro
Split Layout Phone Frame Mockup Hero
Mobile and mediaA reverse split hero for a mobile app: two phones rise from the foot of a tinted panel on the start side, with a Shine Button to the App Store, an outline link to Google Play and a rider count at the end.
- Pro
Phone Frame Mockup Hero
Mobile and mediaA centred showcase hero for a mobile app on solid rails: store links with a Shine Button, a phone showing the app between two cards, fading out over a ruled band of three stats.
- Pro
Split Layout Overlapping Browser Frames Hero
Product windowsA split hero for a design tool: a headline, a Shine Button, a second action and three short feature ticks beside two overlapping browser windows that run off the edge of the column: a projects list behind an editor.
- Pro
Split Layout Image Hero
Product windowsA reverse split hero for an AI code assistant: an editor drawn from UI runs edge to edge to the start rail, with a file tree, code, a ghost suggestion and an assistant panel; a divider and the copy sit at the end.
- Pro
Centered Browser Frame Hero
Product windowsA centered showcase hero over a full-width browser window showing the product, a logs explorer with a request histogram and a log, held by a hairline frame and faded below the fold.