Skip to content
shadcn.io

shadcn.io is not affiliated with official shadcn/ui

Team Activity Feed Notification Block for React

A team's recent work as two bands: six teammates as initials chips with their action counts over a feed grouped by day and written as sentences, narrowed to one person by pressing them, with Show 5 more and an empty state for a quiet teammate.

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

See what one person did, not just what the team did, with this team activity feed for React with Base UI. It is Standlight, an engineering team dashboard, in a framed panel with a plus mark on each corner and two bands: six teammates as initials in a row of chips (a Toggle Group where pressing one narrows the feed and pressing it again clears it), each with its first name and how many actions that person has in the feed, over the feed itself grouped by day, every action a sentence with an Avatar and its time. A status line says whose work is showing, "Show everyone" clears the choice, and "Show 5 more" adds older actions to the same scroller and moves focus to the first of them. One teammate has nothing in the first nine actions, so their chip leads to an Empty state with the way out. Lines come from Guides. For engineering dashboards, standups and any feed people read by person.

FAQ

How do I use my own team and actions?

Edit PEOPLE (an id, a name and two initials) and ACTIONS (an id, a who that is a person's id, the text after the name and an ISO at in UTC, newest first). FIRST is how many actions show when the page opens. Days, counts and the status line are worked out from that data, and times are clock times in UTC, so the feed reads the same for everyone and never says "ago".

How is this different from the activity feed filtered by type?

That block narrows a timeline by what kind of thing happened and shows a rail of type tiles. This one narrows a flat feed by who did it: people are the control, the feed is grouped by day, and each row is a person's initials and a sentence. They share only the idea of a typed history.

What does Show 5 more do, and what stays local?

It reveals the five older actions typed in the same list, keeps the person you chose, says how many are showing and moves focus to the first new row. The button then reads "All shown" and stays in place, quiet. Nothing is fetched and a reload starts again from nine actions. In your app request the next page from showMore and append it.

What if the person I press has no actions?

The feed becomes a designed empty state, in the same box so the page does not move, saying that person has no actions among those showing, with a button that shows everyone. Showing more brings their action in. The chip still says "0 actions" so you know before you press.

How does it look on a phone?

The six chips become a row that scrolls sideways inside its band, each wide enough to read the initials, the name and the count, and the feed keeps its own scroller below. The status line, "Show everyone" and "Show 5 more" stay where they are.

Is it accessible?

Each chip is a toggle button named with the person's full name and their count, the pressed one has a heavier ring and weight as well as its paint, and the feed is a list of days with a heading each inside a scroll region the keyboard can reach. Times are time elements and the single polite status line says whose work is showing.

  • Pro

    A project's history as a vertical timeline split in two: six event types as chips with live counts in a start column, and the timeline of who did what beside them, filtered by the types you press, with Load earlier events and a designed empty state.

  • Pro

    An admin console's audit log as a sortable table of twelve events with an action filter, rows that open to their IP address, session and before and after values, and a real CSV download of exactly the rows showing.

  • Pro

    A notification centre as a narrow panel: tabs for All, Mentions and Alerts with their own unread counts, rows you press to mark read, a mark all read for the open tab and a clear with an undo.

  • Pro

    Activity Log Account

    Sessions and devices

    What changed on an account as a vertical timeline grouped by day: icon nodes on a rail, a filter with counts for sign-in, security and data events, and a Details button that opens the device, place and address of each.

  • Pro

    The people who can sign in to a shared account as hairline tiles: role menu, two-factor on or off, last sign-in, those without two-factor first with a reminder button, pending invitations and an invite form.

  • Pro

    A medal shelf for a learning platform after a learner finishes a first project: eight drawn medals in a hairline grid with a New badge on the latest, and a popover on each medal with its criteria, a progress bar and the day it was earned.