Status Page

Service status block with an overall banner derived from today's worst status, per-service 90-day uptime bars that grow in on view and reveal a date, status and incident tooltip on hover or arrow-key focus, computed uptime percentages, and an incident timeline whose entries expand into their update history, all formatted in UTC from deterministic data.

Preview

Status Page preview width

Install

Add it with the shadcn CLI, or copy the source manually.

$ bunx --bun shadcn add @karaui/status-page
@karaui not found? Add it to components.json
{
  "registries": {
    "@karaui": "https://karaui.kamisama-v0.my.id/r/{name}.json"
  }
}

@karaui is in shadcn's public registry directory, so the latest CLI needs no setup. On an older CLI, merge this into the existing file once and every @karaui/… install resolves.

API Reference

services
StatusService[]
—
incidents?
StatusIncident[]
[]
title?
ReactNode
System status
lastUpdated?
ReactNode

Pre-formatted "last updated" text (never computed, so markup stays deterministic).

—
defaultExpandedIncidents?
string[]

Ids of incidents expanded on mount. Default: unresolved ones.

—
locale?
string
en-US
timeZone?
string

IANA time zone for incident timestamps. Default "UTC" so SSR matches.

UTC
className?
string
—

Keep in mind

Some components on this site are inspired by or recreated from existing work across the web. I'm not here to take credit; just to learn, experiment, and sometimes push things a bit further. If something looks familiar and I forgot to mention you, reach out and I'll fix that right away.

Updated