Skip to content
shadcn.io

shadcn.io is not affiliated with official shadcn/ui

Customer Result Footer Block for React

A footer for a dock-scheduling tool with one customer result: a big 38% figure beside a before and after bar pair in a framed figure, a Read the story button, and two link groups.

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 one-result footer for React with Base UI. At the start, the wordmark and one sentence sit over two link groups in a nav labelled Footer. Behind a split divider that runs from the spine's top rule to the end of the page, a customer story: a framed figure with a large "−38%", a pair of drawn bars for the waiting time before and with the product, a caption naming the customer, and the one Shine Button, "Read the story". A legal band closes the page. On a phone the links come first, then a rule and the story. The figures are example data, and the bars are drawn from them. It's built from Guides, a Shine Button, plain links and your theme's tokens.

FAQ

How do I change the result?

Edit the READINGS array for the two bars (a label, the minutes text, a width class and a fill) and the figure and caption in the JSX. The percentage is typed, so keep it in step with the two readings: here 46 of 74 minutes is a 38% cut and the second bar is 62% as wide. The numbers are example data for a made-up customer.

Are the bars a chart?

They are a drawing: two rounded bars whose widths follow the two readings, hidden from assistive technology, because the same numbers are in the caption ("from 74 to 46 minutes"). They have no axis, so they only show the direction and the size of the change.

What does Read the story do?

It is a link: point its href at the case study. It is the block's one primary control, a Shine Button, and the only one in the footer. The Shine Button takes asChild around an a. The Shine Button takes render={<a href="#" />} and nativeButton={false} so it is a real link.

How do screen readers move through it?

The block is a footer element. The links sit in one nav labelled Footer. The story has an h2 ("Customer story") and a figure whose figcaption says what the numbers mean. The big "−38%" is in a bdi so its sign and unit stay together in right-to-left text.

How does it fit on a phone?

The brand and the two link groups come first, then a rule, then the story with the figure over the bars and the button under the frame, then the legal band. Nothing scrolls sideways at 320 pixels.

  • Pro

    A footer for a field-service app with one customer quote and its speaker at the start, behind a split divider the brand and two link groups, and a legal band.

  • Pro

    Stat Cells Footer

    Social proof

    A footer for an observability tool with four stat cells (events a day, uptime, regions, rating) above the brand and three link groups, with a legal band closing the page.

  • Pro

    A footer for a review-collection tool with three review-site cells, each with a drawn mark, a foreground star rating, the score, the count and a Read reviews link, above the legal band.

  • Pro

    Latest Release Footer

    Content and updates

    A split footer for a feature-flag service that leads with its latest release: a raised panel with version, title and three tagged changes, beside three link columns.

  • Pro

    A brand-first split footer for a design tool: a display wordmark, a tagline and the Shine Button on one half, three link columns and the legal row on the other.

  • Pro

    The classic link-column footer for an email API: a brand column with the wordmark, one sentence and four social links, four groups of links behind a split divider, and a legal band with the copyright and the policy links.