Staaarter

Service Health Board

Infrastructure status board showing every service in the stack as a card with its status, uptime percentage, and latency, plus a summary strip counting how many services are operational, degraded, or down. Perfect for a public status page or an internal ops dashboard.

By Staaarter Team
DevTools
Docs
Live preview

Docs

Installation

A real shadcn registry command, not a copy-paste stand-in: it fetches this block plus its dependencies and any missing npm packages, and installs them straight into your project.

npx shadcn add https://staaarter.com/r/service-health-board.json

Prefer not to use the CLI? Copy the source from the Code toggle above into src/components/blocks/devtools/devtools6.tsx instead.

Usage

The file also exports devtools6Demo, the exact props behind the preview above. Spread it to get a working section in one line, then replace it with your own data.

import { Devtools6, devtools6Demo } from "@/components/blocks/devtools/devtools6";

export default function Page() {
  return <Devtools6 {...devtools6Demo} />;
}

Props

PropTypeDefaultDescription
headingstring"System status"Section heading.
descriptionstring"Live health of every service in the production stack."Section intro text below the heading.
servicesServiceHealth[]noneThe services rendered as cards, in the order given.
classNamestringnoneExtra classes for the outer section element.

Types

type ServiceHealth = {
  name: string;
  status: "operational" | "degraded" | "down";
  uptime: string;
  latency: string;
};

Behavior notes

  • The operational/degraded/down counts in the summary strip are computed from the services array on every render, so the strip always matches the cards below it; there is no separate summary input to keep in sync.
  • The card grid is static and purely presentational: there are no click handlers, links, or expandable rows, matching a real read-only status board.
  • uptime and latency are opaque display strings (e.g. "99.98%", "142ms", or "timeout"), so callers can show whatever precision or unit fits their monitoring stack rather than being forced into a number type.
  • Status colors (emerald/amber/red) are a fixed, non-semantic accent scoped to the status dot and label only, per this category's status-accent convention.