shadcn.io is not affiliated with official shadcn/ui
Left-Right CTA with Customer Results Belt Block for React
A band call to action between solid rails: a headline at the start and the Shine Button with an outline action at the end, over a closing band with a belt of customer result chips that scrolls and a button to pause it.
Installation
Overview
A closing section for React with Base UI that puts proof under the pitch, for a cloud platform called Northstar. The top band has a quiet outline pill ("Trusted by 12,000+ teams"), a headline and a short paragraph at the start and two buttons at the end: the Shine Button and an outline button, both links. Under a hairline that meets the page rails with + marks, a closing band holds a Marquee that scrolls a belt of rounded chips, each a customer's wordmark followed by one result in a sentence ("Northwind | 38% fewer support tickets"), so the belt carries a claim as well as a name. The belt fades at both edges with a CSS mask, a pause button sits before it, and with reduced motion the belt stands still and scrolls by hand. The block ends on the belt, with no bottom rule, so the next block's top rule is its only edge. The customers are fictional wordmarks made of an icon and a name, so there are no logos to license.
FAQ
How do I change the customers and their results?
Edit RESULTS at the top of the file. Each entry has an icon, a name, a metric such as "38%" and an outcome that finishes the sentence. Swap the icon and name for an img or inline svg of the customer's logo, with their name as alt, and only use results the customer has agreed you can publish. Nine entries fill a belt well, and Marquee makes the copies that close the loop.
How can a visitor stop the moving belt?
Three ways. The button before the belt pauses and resumes it; it is a toggle with aria-pressed driving Marquee's paused prop. The belt also holds while the pointer is over it or focus is inside it. And with reduced motion turned on in the system, the belt doesn't scroll by itself, it becomes a row you scroll by hand, and the pause button is hidden since there is nothing to pause. That covers WCAG's rule for content that moves on its own for more than five seconds.
Is this accessible for screen readers?
Yes. The block's one heading is an h2. The belt is named "Customer results", each chip is plain text read once, and the copies that make the loop are hidden from screen readers and inert, so they aren't read or reached with Tab. The figures are wrapped in bdi, so "38%" and "2.4x" keep their order in right-to-left languages, and the divider between name and result is decorative and hidden.
On Base UI, each button renders its link with render={<a href="#" />} and nativeButton={false}.
How do I change the speed or the direction?
Set speed on Marquee in pixels per second; this belt uses 35, a calm pace for sentences, and the default is 50. Because it is a speed and not a duration, adding chips doesn't make it run faster. spacing sets the gap between chips, and reverse sends them the other way.
How does the layout adapt to small screens?
Below md the top band stacks: the headline first, then the buttons, which wrap if they must. The pause button and the belt share one row down to 320px, with the belt taking the remaining width and fading at its edges through a CSS mask, so the fade works on any theme and in dark mode.
When should I use a results belt instead of a plain logo belt?
Use it when you have results you can publish: a figure next to a name is a claim, which persuades more than a name alone. Use a plain logo strip, like the logo marquee hero, when you only have permission to show names, or when the logos themselves are the proof.
Related
- Pro
Logo Marquee Hero
Logos and social proofA 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
Dual Row Marquee Testimonials Hero
TestimonialsA 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.
- Pro
Centered CTA with Star and Fork Counts
Social proofA centered call to action that follows the page theme, with Star and Fork buttons that each join a link to its count, beside a contributor avatar stack.
- Pro
Centered CTA with Avatar Social Proof
Social proofA centred statement for a community, closed by a band of six members on shared hairlines: each cell a link that opens a hover card with the member's role, status and join date, under one Shine Button.
- Pro
Centered CTA with Avatar Stack Button
Social proofA centred card-in-card call to action that follows your theme, whose single Shine Button carries the social proof: a stack of team avatars inside it, ahead of the label, with the trial terms on the shell.
- Pro
Centered Trusted By Logo Row Hero
Logos and social proofA compact centered hero built as bands: an announcement pill, a headline, two calls to action and three trust points, then a ruled label and a row of six customer wordmarks in divided cells.