shadcn.io is not affiliated with official shadcn/ui
Buyer and Seller Tabs Footer Block for React
A marketplace footer with Buy and Sell tabs that swap the link groups and the closing action, for a handmade-goods market.
Installation
Overview
A marketplace footer for React with Base UI, for Kilnby, a handmade-goods market. Buy and Sell tabs swap three link groups and the closing action: buyers get an outline Button ("Browse listings"), sellers get the Shine Button ("Start selling"). Both panels stay in the page, and an unseen copy of each holds the height of the taller one so the footer does not jump. The rails and the rules between the brand, the links and the legal band come from Guides. It's built from Tabs, Button, Shine Button and Guides.
FAQ
How do the Buy and Sell tabs work?
Two tabs, Buy and Sell. The arrow keys move between them. Choosing one shows that audience's three link groups and its action, and hides the other. Both panels stay in the HTML, so both audiences' links are in the markup.
Each panel sets keepMounted, so a closed panel stays mounted. This tab list selects a tab when it receives focus, so an arrow both moves and chooses.
An extra copy of both panels sits in the same grid cell, unseen and removed from keyboard and screen-reader reach, so the footer keeps the height of the taller panel.
How do I change the links and the actions?
Edit AUDIENCES at the top of the file. Each audience has an id, a label, a tone (outline or shine), an action (the button's text) and three groups of links. LEGAL is the policy row. Every link is a plain anchor with href="#": point it at its page, or swap the anchor for your router's link. Keep the two audiences the same shape if you want the footer to stay the same height.
Which button is the primary one?
Only one action is on screen. Buy shows an outline Button, "Browse listings". Sell shows the Shine Button, "Start selling". The other stays in the markup, hidden with its panel.
Each button renders an anchor through render, with nativeButton off.
How do screen readers move through it?
The block is a footer. The tabs are a tab list labelled Buy or sell. The open panel is a nav labelled Footer, each group a small h2 over a list. The closed panel is hidden, and the height-holding copy is inert, so only one Footer nav is announced. The policy links are a list named Legal. Every link and tab shows the theme's focus ring.
Related
- Pro
Dual Audience Footer
Calls to actionA 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.
- Pro
Plan Pills Footer
Plans and estimatesA footer for an invoicing tool with three plan pills, Free, Pro and Team, that show the chosen plan's price and three inclusions beside a Compare plans link, over two link groups and a legal band.
- Pro
Link Columns Footer
Link gridsThe 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.
- Pro
Brand Split Footer
Brand-ledA 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
Rights by Region Footer
Trust and complianceA footer for an HR platform whose segmented control (EU and UK, United States, Elsewhere) swaps the four privacy-rights links that apply there, with the legal documents in a row under it.
- Pro
Developer Hub Footer
Products and catalogsA developer-hub footer for a secrets manager: SDK tabs (TypeScript, Python, Go) with an install command, a copy button and the version, beside three link groups.