shadcn.io is not affiliated with official shadcn/ui
Social Profiles Account Block for React
Verify the handles you claim: a framed card per network with its handle and state, a code to put in your bio and a Check now, a verified mark on the profile line, and a form that adds another network.
Installation
Overview
Let people prove that the handles on their profile are theirs, with this handle verification panel for React with Base UI. A compact header holds the title and one sentence. Inside a hairline frame with a plus mark on each corner, a heading row counts the verified networks, and a profile line shows which of them earn a mark ("Shown on your profile: Instagram, YouTube"). Below it a stack of framed cards, built from Frame, has one card per network: a neutral lettermark tile, the handle in a code chip and an outline Badge that says Verified on a day or Unverified. Verify opens the card in place with a typed code beside a Copy Button, "Put it in your bio, then check", and a Shine Button, Check now, which in this demo passes once the code has been copied and says so when it has not. Remove goes to a line with an Undo, and a native select and a handle field add another network, with the problem shown under the field. It's built from Frame, Badge, Button, Copy Button, Field, Input, Native Select, Shine Button and Guides, with a CSS entrance only. For a creator profile, a link-in-bio page or any product that wants proof a handle is yours.
FAQ
How do I fill it with my own networks?
Edit START for the cards the account has when the page opens: each has an id, a two-letter mark for its neutral tile, a name, the handle as shown, the code to put in the bio and the ISO day it was verified (empty until it is). KINDS lists the networks that can still be added, each with the code its card will show. The count, the profile line and the options in the select are all worked out from the cards, and a network already on the page leaves the select. The tiles are placeholders: drop in logos you have the rights to use.
What stays local, and how do I make it real?
Nothing is looked up on any network. Check now passes in this demo only once the code has been copied, which is what the line beside it says, and it then marks the card Verified on the fixed as-of day. Adding, removing and Undo only change this page's state, and every result says so in the status line. To wire it, generate one code per handle on your server, fetch the profile's bio or a post in check, look for the code, and mark the handle verified only when it is there; revoke the mark when the handle changes.
Why does Check now fail before the code is copied?
The page needs some honest rule to decide, and the real one (read the bio) can't run here. Copying the code with the button stands in for putting it in the bio. If the clipboard refuses, the button shows its cross and the check keeps refusing, with the code still on screen to select by hand. The refusal is shown beside the button and in the status line, never as an error that hides the card.
How does adding a network work?
Pick a network and type a handle; an empty one or one with characters a handle can't have is refused under the field, which keeps focus, and the message follows the typing so it clears when fixed. A good one adds an unverified card at the end, moves focus to its Verify button and says so. When every network is on the page the select is disabled and the form says to remove one first.
Is it accessible?
Every network is a list item with its own heading, and every button names it ("Verify TikTok", "Remove Instagram", "Check the TikTok bio now"). Verify is a disclosure with aria-expanded and aria-controls, and the closed card content is inert. Verified is said in words as well as with an icon, and the tiles are hidden from assistive technology because the name is beside them. The field names its problem, and one polite status line reports each result.
Related
- Pro
Connected Accounts Account
Connected appsThe sign-in providers linked to an account: each with its address, link date and use history, an Unlink that asks first and refuses on the only way in, an Undo line and quiet buttons to link more.
- Pro
Third-Party Apps Account
Connected appsOAuth grants as a table: each app with its access level, grant date and last use, unused apps pinned to the top, scopes in plain words, a Revoke that can be undone and a bulk revoke that asks first.
- Pro
Integrations Account
Connected appsWho can reach which of your data: one set of grants shown by data or by app, each as a removable chip with the access in words, a revoke that can be undone, and counts worked out from the grants.
- Pro
Social Links Settings
Fields and formsA social links editor with five places for links: each address is recognised and checked against its service's shape, shown or hidden, moved and removed, with Add by pasting, a preview of the links on the page and an Undo.
- Pro
A panel of four sign-in methods (Password, Google, GitHub, X) with Connect and Disconnect that refuses to remove the last one, an alert dialog and Undo for the others, and a choice of which shows first.
- Pro
Federated Identity Login
SSO and providersA provider chooser for a cloud console: a table of five identity providers with protocol, a health word and dot, and the last check, where a provider in maintenance can't be chosen and says why, and one button connects.