Skip to content
shadcn.io

shadcn.io is not affiliated with official shadcn/ui

Discord Linked Members List Integration Block for React

A linked-members list for a community tool connected to Discord: a search that marks the letters you type, fourteen members six to a page with their level roles and link state, a Retry on the one link that failed, and a pager.

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

An integration synced-objects list for React with Base UI, written for Hearthbell, a fictional community announcements and role-sync tool, and its Discord bot. A compact header ("Hearthbell knows who is linked") has the mark pair under its sentence and a search field at its end. Rows run from rail to rail under a band rule: an initial, the handle (the letters you type are marked as you type), the member's level roles and a state word with an icon: Linked, Pending or Unlinked. Fourteen members show six to a page. One link failed, and its row has a Retry that turns to "Retrying" and then to Linked, in the same row height. The pagination sits in a closing band at the foot with a polite line ("Showing 1 to 6 of 14 members") that also says search and retries work here only. Every row has one fixed height and the list keeps six rows of room, so a short last page or a narrow search never moves the pager. The page's rails and top rule come from the Guides spine, so it lines up with its neighbours in a stack. It's built from Input Group, Search Highlight Text, Pagination, Avatar, Badge, Button, Status and Guides, with your theme's tokens for every colour. Discord is named in text only: no logo, colour or wordmark ships with the block. The product and the members are example data.

FAQ

Why doesn't the page move when I change page or search?

Every row has the same fixed height (taller on a phone, where the state sits on its own line) and the list reserves the height of six rows, so a page of two members, or a search with one result, leaves the pager exactly where it was. The pager links are real addresses (?page=2) that the click turns into a state change in place.

What does Retry do?

One member, cobb.ember, has a link that failed. Its Retry turns to "Retrying" for about 900 milliseconds, with a timer that is cleared if the block unmounts, then the row reads Linked. It is a stand-in for your own request: nothing is sent, and the polite line says "Retry queued in this demo, nothing was sent." The button stays focusable while it works (it is aria-disabled, not removed).

How are the states told apart?

By an icon and a word in an outline badge, never colour alone: Linked, Pending and Unlinked. The failed link adds a small red dot, the only colour on the page, because it is the one exception. Roles are quiet secondary badges: change roles on a member to list theirs.

How does it fit on a phone and in right-to-left layouts?

On a phone each row stacks the handle, the roles and the state on three lines beside the initial, and the search sits under the header. Handles keep their left-to-right order in a right-to-left layout, while the rows and the pager flip. The header fades up once on load; with reduced motion it simply appears.

  • Pro

    An integration detail section for a community announcements tool joining a Discord server: an invite card whose permissions integer and link follow eight permission switches, each with its documented bit value.

  • Pro

    A grid of six Discord level roles for a community tool: each cell a role chip, a switch and a number stepper for the messages that earn it, with a derived time line and an error when the thresholds stop rising.

  • Pro

    Discord Setup Integration

    Choose and verify

    A connect flow for a community tool and Discord: a three-step wizard (authorize, pick a server, map three plans to roles with Selects) beside the server's role ladder with the bot's own role marked, ending in Finish setup.

  • Pro

    A synced-monitors list for a post-incident review tool connected to Datadog: a facet rail of checkbox groups with live counts beside nine monitors, each with its query, place and state, and a Retry on the one that could not be read.

  • Pro

    Pagination Blog

    Post lists

    A transit-planning blog's archive as rows, four to a page over three pages, with the catalog pagination in a band at the foot, a polite 'Showing 5 to 8 of 12' line and a height that never changes between pages.

  • Pro

    A developer-tools blog behind a search field: a slash shortcut focuses it, typing keeps the posts whose title or summary holds the words and marks them, and six cells draw tiny tool windows as covers.