Skip to content
shadcn.io

shadcn.io is not affiliated with official shadcn/ui

Status Board Team Block for React

A three-column board of Online, In focus and Away for a project tracker's team, each person with their activity and local time, and a Set my status group that moves one 'You' avatar between the columns.

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 team status board for React with Base UI, for Reedmarsh, a project tracker. A compact header carries a "Set my status" pill group, Online, In focus and Away. Under it three columns share their hairlines, rail to rail, each with a status dot, its name and a count. Nine people sit in them as initials avatars with a name, what they are working on and their local time, and people in focus also show when it ends ("Focus until 15:00"). A tenth avatar, "You", starts in Online: picking another status moves it to that column, and a polite line says where it went. The local times are read from your clock after the page loads. The columns hold their height when "You" moves, and on a phone they stack, each with its count. It's built from Toggle Group, Status, Avatar and Guides, with your theme's tokens for every colour. For a team page, a dashboard or an intranet home. The people are invented.

FAQ

How do I change the people and the columns?

Edit PEOPLE at the top of the file: each person is a name, a role, an activity, a status ("online", "focus" or "away"), an offset in minutes east of UTC for their clock, and for people in focus an extra that adds whole hours to when the focus ends. The columns are COLUMNS; add a status there and in PEOPLE to get a fourth.

How does the "You" avatar work?

It is one more person in the list, with the status picked in the header. Picking a pill changes that status and the avatar moves to the matching column, at the end of its list. Its clock is your own, read from the browser. Wire the pill group to your own status API where pick sets the state.

Where does "Focus until 15:00" come from?

It's worked out from the person's clock: the next whole hour on their local time, plus their extra hours. So it is always in the future and never goes stale, and it reads "--:--" until the browser's clock is read after the page loads.

How does it work with a keyboard and a screen reader?

The pills are a labelled group of toggle buttons: Tab enters it and the arrow keys move between the pills. Each column is a labelled list with its count in the heading. When "You" moves, a polite line reads "You are now In focus." without moving focus.

Why do only the dots have colour?

Presence is the one place colour carries meaning, so the three dots use the Status tokens (online, busy, away), and each has its word beside it in the column heading. The pills and the avatars use foreground weights, and "You" is the one solid avatar.

How does it fit on a phone?

The three columns stack in the same order, each with its dot and count, and a row is the same three short lines: name, activity, then the clock with the focus end. The total height doesn't change when "You" moves from one column to another.

  • Pro

    Status Filter Team

    Hours and places

    A live-chat widget's eight people in rows under a ruled pill filter (All, Online, Away, Busy) with counts, each row showing a presence dot, what they are doing and when they were last seen.

  • Pro

    Hour Scrubber Team

    Hours and places

    A framed slider over the 24 hours of the day in UTC, above nine people in rows that show who is working at that hour with their local time, a day strip and a live count.

  • Pro

    Time Zone Axis Team

    Hours and places

    Ten people of a remote-first payroll company laid along an axis of UTC offsets, each office with its avatars, a live local time and a shaded band where it is working time, over six cells that list the same zones.

  • Pro

    Hybrid Week Desks Team

    Hours and places

    A coworking company's hybrid week as a table: eight people by Monday to Friday, each cell a desk code like BER-214 or Remote, a who-is-in count under each day and a select to look at one office.

  • Pro

    Time Off Calendar Team

    Hours and places

    A four-week grid of Monday to Friday for a shift-scheduling company, with the avatars of people away in each day, a coverage row under every week, the thinnest week flagged and the reasons listed in plain words.

  • Pro

    A presence callout for a team workspace: a live "4 of 5 teammates active" count over a band of five cells, each an initials avatar with an active or idle dot, a name and the document they are in.