shadcn.io is not affiliated with official shadcn/ui
No Connected Apps Empty State Block for React
A connected apps page with nothing connected: three apps to choose from, the scopes the chosen one would ask for (one required, two optional) and a drawn plug that moves toward a wall socket as choices are made, without ever reaching it.
Installation
Overview
Show what an account would grant before it grants anything, with this no connected apps empty state for React with Base UI. A hairline frame with a plus mark on each corner holds the connected apps page of Tethermill, a calendar-sync tool. At the start of the first band three real services are named in text with a neutral two-letter tile and sit in a group of real radio buttons; at the end, the scopes the chosen app would ask for are listed with a Checkbox each, the first required and always ticked, the other two optional. Under them a greyscale drawing of a wall socket and a plug on its cable stands for the gap: the plug moves closer as an app is chosen, as optional scopes are ticked and when the Shine Button, the only colored control, is pressed, but it never reaches the socket, because nothing connects. The action foot says what it would connect with. The frame's bands are ruled by Guides, and the whole block uses CSS transitions only. For the connected apps, authorized apps or access page of any account.
FAQ
What happens when I press Review and connect, and what stays in the page?
Nothing connects. The choices are kept in the page's state, the plug moves to its closest place and a polite status message says "Would connect Slack with 2 scopes. Nothing is connected in this demo." Choosing another app or changing a scope puts the plug back to where those choices put it. Start over clears everything. To wire it for real, send the person to the app's own consent screen with the ticked scopes where the code says so, and list the app as connected only after it answers.
How are the scopes chosen, and why is one always ticked?
Each app has its own typed list of scopes, one required (its box is ticked and disabled, with the word Required) and two optional, so the preview shows only what that app would really ask for. The ticks of the optional scopes are kept per app: go back to an app and they are as you left them. A scope's line says in one sentence what it allows.
How does the drawing react without moving anything?
It is one inline SVG that never swaps: the plug and its cable slide along the page by a CSS transition, switched off under reduced motion, and the dashed gap line behind them is covered by the plug as it goes. The cable fades out at its far end with a mask on the wrapper. The drawing is decorative and hidden from screen readers; the status message says what would happen.
Is it usable with a keyboard and a screen reader?
The apps are one radio group: Tab reaches it once and the arrow keys change the choice. The scopes follow, each named by its scope and described by its line, then Review and connect and Start over, which stays quiet (and says so if pressed) until there is something to undo. Pressing Review and connect with no app says so and moves focus to the first app.
How does it look on a phone?
The scopes stack under the apps and every pane shares one cell, so choosing an app never moves the buttons. The drawing sits between the lists and the foot, 80 px tall, and the foot is pinned to the bottom of the screen so the button stays in reach. From the medium breakpoint the apps and the scopes sit side by side, divided by a rule that meets the band's rules at plus marks.
Related
- Pro
No Integrations Empty State
Apps and integrationsAn integrations catalog with nothing connected: tabs by category over real services with Connect toggles, and a drawn board of six empty bays that takes a lettermark tile in the next free bay as each one is connected.
- Pro
Connect Tools Empty State
Apps and integrationsA full-height first-run screen for an integration hub: six tool cards with checkboxes at the end, and at the start a drawn hub whose spokes turn from dashed to solid, and whose sockets take a lettermark, as each tool is ticked.
- Pro
No Data Sources Empty State
Data and analyticsA full-height page for a data platform with no source yet: a segmented choice of database, file or API with that kind's fields, and a line drawing of a source pointing at a dashed data box that turns solid once the source is added.
- Pro
No Plugins Empty State
Apps and integrationsAn extensions store with nothing installed: tabs over a list of five plugins, the chosen one's detail with a drawn isometric shelf where a dashed cube hovers over its bay and turns solid when it is installed, and its permissions.
- Pro
Notification Preferences Settings
NotificationsA notification settings panel: a channel strip with all-or-nothing checkboxes, a matrix of switches by activity and channel with a locked security email, quiet hours, and a save bar that counts unsaved changes.
- Pro
First Project Empty State
First runA full-height first-run screen for a weekly planner: a name field and one Create project button at the start, and at the end a drawn drafting table whose blank sheet is only dashed until the project exists.