Skip to content
shadcn.io

shadcn.io is not affiliated with official shadcn/ui

Dual Row Marquee Testimonials Hero Block for React

A compact centered hero for a support inbox with a Shine Button and, on its own rule below, two rows of short customer reviews that scroll in opposite directions, with a button to pause them.

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 compact centered hero for React with Base UI. It opens on the page's solid rails, with an announcement link, a headline, a sentence and a ShineButton with an outline Button as links, for Relay, a shared inbox for support teams. Below, a closing band on its own solid rule with + marks holds two Marquee rows of short reviews (a quote, an initials Avatar, a name and a role in each Card), the second row reversed and a little slower, faded at both ends, with one button that pauses both. The rows loop with CSS, hold still while the pointer or focus is on them, and stop for visitors who ask for reduced motion. Made for SaaS landing pages, community products, and any marketing site where the number of happy customers is the argument.

FAQ

Can visitors stop the scrolling?

Yes. The pause button at the end of the band's caption row stops both rows at once and swaps to a play icon, with aria-pressed saying which state it is in. The rows also hold still while the pointer or keyboard focus is on them, and they stop on their own for visitors who ask for reduced motion, in which case the pause button is hidden because there is nothing to pause.

How do I change the reviews?

They are the TOP_ROW and BOTTOM_ROW arrays: an initials badge, a name, a one-sentence quote and a role. Keep each quote to one or two lines, since every card in a row shares one width, and use real customers with their permission. Seven cards per row fill the loop on a wide screen; the marquee repeats them so it never shows a gap.

Are the reviews readable by a screen reader?

Each review is a figure with a blockquote and a figcaption naming the author. Each row is a labelled marquee, and the repeated copies the loop uses are hidden from assistive technology, so every review is announced once. The initials avatars are decorative.

Where is the primary button, and how is it a link?

The ShineButton is the only primary control: a diagonal band of light sweeps across it once on hover or focus. It is a link on every framework: asChild with an a on Ark and Radix, render with nativeButton={false} on Base UI, and href on React Aria. The second action is an outline Button.

What are the lines and marks for?

They are the drafting rails shared with every block in this set: two side rails and a top rule that runs to the edges of the page, with + marks where they cross, then a second rule with marks that starts the review band. The lines follow the theme, in light and dark.

How does it behave on a phone?

The headline steps down to text-4xl, the two buttons wrap, and the rows keep scrolling at their normal size, with a card wide enough to show most of its quote and the next one peeking in at the edge. The first screen holds the headline and the primary button.

  • Pro

    Logo Marquee Hero

    Logos and social proof

    A compact hero for a support platform: copy and two calls to action, then two bands across the column: a strip of customer logos that scrolls on its own with a pause button, and a row of three stats.

  • Pro

    A centred showcase hero with a headline, a Shine Button and an outline action over a wall of six customer quotes in cells that share their hairlines, a snap carousel on a phone.

  • Pro

    A reverse split hero with a card that shows one customer quote at a time in a hairline frame, a pause button and a dot per quote, beside an announcement pill, a headline, a Shine Button and an outline action.

  • Pro

    A reverse split hero with a wall of nine short customer quotes on shared hairlines at the start, the centre one raised and rated, and the headline and a Shine Button at the end.

  • Pro

    A compact start-aligned hero with a headline, a Shine Button and an outline action over a closing band that holds one customer's quote, large, beside their rating, name, role and the number it is about.

  • Pro

    Avatar Stack Side Rail Hero

    Logos and social proof

    A compact hero for a community: a headline, a Shine Button and a second action beside a side rail of proof: a stack of member avatars over a line of social proof, then three stats in ruled rows.