Skip to content
shadcn.io

shadcn.io is not affiliated with official shadcn/ui

Centered CTA with Avatar Social Proof Block for React

A 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.

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 centred closing section for React with Base UI, led by a statement and closed by faces. Between the page's solid rails, a headline, a line of social proof ("Join 8,400+ developers in the Tidepool community"), one Shine Button and a note sit centred over a band of six members. The band is a row of cells on shared hairlines (three by two on a phone) under a rule with + marks on its ends; it closes the section, so the next block's top rule is its bottom edge. Each cell is an avatar, a first name and a role, and each is a link to the member's profile: hovering it or focusing it with the keyboard opens a HoverCard with the member's full name, role, an online Status dot and how long ago they joined. The people are initials only, so there are no photos to host, and every part fades in once with CSS and stands still for visitors who ask for reduced motion. Made for community, developer-group and beta-program pages where seeing real people is the pitch.

FAQ

How do I change the members and the count?

Edit MEMBERS at the top of the file: each entry has first (the name shown in the cell), initials, name, role, online and years since joining. Set TOTAL to your member count; the line under the headline prints it with a fixed Intl.NumberFormat("en-US"), so the server and the browser agree. To use photos, add an AvatarImage with the member's name as alt inside each Avatar; the initials stay as the fallback while it loads. Six cells fill the band at every width; with a different number, change the grid's column counts.

How do the hover cards open, and what about touch screens?

A card opens when the pointer rests on a cell and when the cell gets keyboard focus, and it closes on Escape or when the pointer or focus leaves. A hover card is a preview, never the only way to a fact: on a touch screen, tapping a cell follows its link to the member's profile instead, and the cell already shows the name and role. Point each href at the real profile page.

Is this avatar social proof CTA accessible for screen readers?

Yes. The section's one heading is an h2. The band is a list named "Community members", and each cell is a link named "Sarah Chen's profile", so the faces are reached with Tab in order. The initials are decorative, and the sentence under the headline already says "Join 8,400+ developers". The online dot is hidden too: the card says "Online now" or "Away" in text. On Base UI, the cell link is the HoverCardTrigger itself, which renders an a.

Does it work in right-to-left languages?

Yes. The cells run from the right and the entrances use logical properties. The count is isolated with bdi, so "8,400+" keeps its sign in place, and nothing in the band is a physical side.

What happens with reduced motion?

The only motion is a one-time fade-up on load, a CSS transition, and a colour change when you hover a cell. With reduced motion turned on, the entrance is skipped; the hover card still opens.

When should I use a band of members instead of the avatar stack in the button?

Use the band when trust is the objection and each person should be inspectable: a community, a beta or a group where who else is in matters more than what a button says. Use the avatar-stack button variant when the page has one action and you want its proof inside the thing people click.

  • Pro

    A 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

    A 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

    A split call to action on drafting lines: an invite for a private community beside a framed ring of member avatars that turns slowly while the section is hovered or holds focus.

  • Pro

    A reverse split call to action: a leaderboard at the start with the top three ranked, avatars and counts on shared hairlines and the visitor's own row pinned underneath, beside the headline and the Shine Button.

  • Pro

    Centered Online Pulse Hero

    Stats and live data

    A centered showcase hero led by a live presence pill, a pulsing dot and a count of the people online, with two actions and a live project board in a band below.

  • 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.