shadcn.io is not affiliated with official shadcn/ui
Dual Audience Footer Block for React Aria
A footer for a design tool with two audience cells on one hairline, builders and teams, each with a sentence, three points and its own action, over a row of links and a legal band.
Installation
Overview
A footer for React with React Aria that gives two kinds of visitor their own way in. Two cells share one hairline: For builders and For teams. Each has a title, one sentence, three checked points and an action at its foot: the Shine Button "Start building" in the first, an outline "Talk to sales" in the second, so only one control is primary. Under the cells, a band holds the wordmark with one sentence and the links in one row, in a nav labelled Footer, and a legal band closes the page. It is a footer first: the cells are part of it, with the links and the legal row under them, not a closing section of their own. On a phone the cells stack and the links wrap. It has no state: plain links, Guides and your theme's tokens.
FAQ
How do I change the two audiences?
Edit the BUILDERS and TEAMS constants at the top of the file: each is a title, a sentence and three points. Both cells are drawn by one AudienceCell component, and each action is passed to it as children, so you can change a label or a link in the footer's markup without touching the cell.
Why is only one of the two buttons filled?
A filled button says "this is the main thing", and two of them split the visitor's attention. The Shine Button goes to the lower-friction path (building is free) and the outline button to the one that needs a conversation. Swap them if your business works the other way round; keep one of each.
How are the buttons links on each library?
Both are real links styled as buttons. The button takes an href and renders a link. Point each href at its page.
How does it read to a screen reader?
The block is a footer. Each audience has an h2 over a real list; the links are in a nav labelled Footer and the policies in a list named Legal. The check marks are decorative and hidden: the points are read as plain list items.