shadcn.io is not affiliated with official shadcn/ui
Featured Quote Split Logos Block for React Aria
One flagship customer's wordmark plate beside a display-size quote and who said it, for a vet-clinic booking tool, split by a hairline divider.
Installation
Overview
A featured-quote logo block for React with React Aria. One customer carries the whole section. At the start sits the customer's wordmark on a plate, a serif italic name with its icon, as the section's heading, and the tenure and a one-line fact ("Customer since 2021", "Fourteen clinics, one shared calendar") pinned to its foot. A hairline divider, with a + mark where it meets the top rule, separates it from the quote at the end: a display-size blockquote of two sentences and the person who said it, with an avatar, a name and a role. There are no buttons and no extra chrome, so the quote carries the sell. On a phone the plate comes first and a rule runs between the two parts. Built from Avatar and Guides, with a CSS transition for the entrance and your theme's tokens for every colour. For the flagship story between a feature section and pricing, where one recognisable customer and one honest sentence are the whole proof.
FAQ
How do I change the customer and the quote?
Edit FLAGSHIP and QUOTE at the top of the file. FLAGSHIP is the customer's name, an icon (any Lucide icon), the lettering classes for the name's type, and the two small lines under the plate. QUOTE is the text and the person: initials, name and role. Keep the quote to two sentences with a number in it, so it reads like something a real person said.
How do I use the customer's real logo?
Replace the icon and the name inside the h2 with the customer's one-colour logo, an inline svg in currentColor with role="img" and an aria-label, or an img with the customer's name as its alt. The plate is a muted box with a ring, so a dark or a light logo both sit on it. Keep the heading's text, because it names the story for screen readers.
How is the quote marked up?
The quote is a figure holding a blockquote and a figcaption, so assistive technology reads it as a quotation with its source. The curly quotation marks are text inside the quote, wrapped in a bdi element so a right-to-left page keeps them in order. The avatar shows initials and is hidden from assistive technology, because the person's name is already in the caption.
Why does the divider only show on wide screens?
From lg the two parts sit side by side and a hairline between them, with a + mark where it meets the block's top rule, shows the split. Below lg the parts stack and a horizontal rule with + marks takes its place, so the block reads as two ruled parts on a phone too. Neither line touches the rails: the rails and the top rule come from the page spine, so the block lines up with its neighbours.