Skip to content
shadcn.io

shadcn.io is not affiliated with official shadcn/ui

Services Status Live Banner Block for React

A services callout for a cloud platform: a green dot and a heading that counts "All 12 of 12 services operational" from the data, a status-page link, and a matrix of the twelve services on shared hairlines.

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 services callout for React with Base UI, for a platform that wants every service visible at once. A green status dot and a heading that counts from the data ("All 12 of 12 services operational") sit at the start with a status-page link at the end; under them a matrix of the twelve services sits in one rounded frame with + marks on its corners, the cells split by shared hairlines: six across from sm, three on a phone. Each cell is a dot and the service's name, so no tooltip is needed to read it. Operational services use the foreground tone and any other state takes its status colour, so an exception is the only coloured cell. It's built from Guides and Status, with a CSS entrance and your theme's tokens for every colour. For status pages, platform dashboards and the top of a docs site.

FAQ

How do I change the services, or show an outage?

Edit SERVICES: each entry is a name and a state (operational, degraded or down). The heading counts the operational ones, so setting one to degraded makes it "11 of 12 services operational", drops the word "All", turns the heading's dot to the warning colour and gives that one cell a warning dot. The grid is six columns wide, so a multiple of six keeps the last row full.

Why aren't the twelve dots green?

Twelve green dots in a row are loud and say nothing a single one doesn't. The normal state is the foreground tone, and colour is saved for what needs attention. Every cell also has the state written for screen readers after its name ("API, operational"), so the colour is never the only signal.

Is it live?

The block ships with typed data and no timers, so the preview is stable. To make it live, fetch your services' states after the first render and put them in state; keep the typed list as the first render so the server and the browser agree. If a service's state can change while the page is open, add a polite status line that is in the page from the start and fill it only when a state changes.

Why are there no tooltips?

Every service's name is already visible in its cell, so a tooltip would only repeat it, and hover-only text can't be read on a phone or with a keyboard.

How does it fit on a phone?

The matrix becomes three columns by four rows; the names are short so they fit at 320 pixels, and a longer one wraps inside its cell. The heading and the link stack when they don't fit on one row.

Does it work in a right-to-left layout?

Yes. The cells fill from the inline start, the dots lead the names, and the arrow on the link mirrors. The counts are wrapped in bdi, so "12 of 12" keeps its order.

  • Pro

    A live-health callout for an API gateway: a green status dot, an all-operational heading, a sentence with the median response time and the one slow minute, a status-page link, and a framed figure of the last 30 minutes as slim latency bars.

  • Pro

    An integrations callout for a hub: a live "3 of 4 integrations syncing" count over four connector chips with a status dot each; the disconnected one offers Reconnect, and the count turns to "4 of 4".

  • Pro

    A heartbeat callout for a monitoring tool: a framed status dot that sends out one ring on each poll, an all-systems-operational heading, a line with how long ago it checked and the p95 latency, and a status-page link.

  • Pro

    A maintenance callout for a managed database service: a warning heading and two sentences over a second band that draws the day as 24 hour cells, with the two hours inside the window filled.

  • Pro

    Collapsible Details Banner

    Disclosures and tabs

    An incident notice for a status-page product as a disclosure: one summary line with an Investigating badge, and open it explains the incident and lists the four affected services.

  • Pro

    A showcase centered hero for an API platform, with a live status pill, a Shine Button and a status panel of full-width bands: five services' uptime over the last 30 days.