Skip to content
shadcn.io

shadcn.io is not affiliated with official shadcn/ui

Uptime Monitor Dashboard Block for React

Six monitored URLs in a list beside the picked monitor's response time as a median line with a fastest-to-slowest band, every outage shaded and numbered, a 24 hour, 7 day or 30 day range and a Paused switch.

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

Watch one URL at a time with this uptime monitor for React with Base UI. A hairline frame with a plus mark on each corner holds a list of six Pingroost monitors, each with its address, a state word (Up, Down or Paused) and its uptime for the range, and beside it the picked monitor's detail. The detail is a hand-built response-time chart: the median as a line, the fastest and slowest check of each interval as a band, and every outage as a numbered shaded interval, with three figures above it (uptime, median and slowest) and the incidents listed under it with their start, length and cause. A Toggle Group in the header switches between 24 hours, 7 days and 30 days, and a Switch pauses the monitor, which greys the chart and says so. It's built from Toggle Group, Switch, Native Select, Empty and Guides. For uptime tools and status pages.

FAQ

How do I fill it with my monitors?

Edit MONITORS (name, address, a typical response time and a seed) and OUTAGES (the monitor, an ISO start, the minutes down and a cause word). The response times are generated from the seed with a small deterministic function so each load looks the same, and the outage intervals blank the checks inside them. Replace the generator with your stored checks and keep the outages as they are.

What does the range change?

Everything at once: the list's uptime figures, the three figures, the chart's scale and axis, and the incidents that fall inside the range. Uptime is the minutes down against the minutes in the range, cut to two decimals so one bad day never rounds up to 100. An outage that began before the range is clipped to it.

What does Paused do?

It marks the monitor Paused in the list, replaces its uptime with dashes, greys the chart and says in the status line that nothing was stopped. It does not touch any real check. Switch it off to resume. Admin console starts paused so you can see the state.

Can I read the chart without seeing it?

Yes. The chart is an image with a text summary (uptime, median, number of outages), and a visually hidden table lists every check with its median, fastest and slowest time or the word Down. The numbered outages are repeated in the incidents list with their time and cause.

What stays local, and how do I wire it for real?

Everything: nothing is requested, no check runs and a reload starts over. In your app, read the checks and incidents from your monitoring store, send Paused to the scheduler that runs the checks, and keep the as-of time in UTC.

How does it look on a phone?

The list becomes a select above the detail, the chart is shorter, and the figures, incidents and status line stack under it.