import { statusDictionary } from "./utils"; export type Status = | "operational" | "degraded_performance" | "partial_outage" | "major_outage" | "under_maintenance" | "unknown" | "incident"; export type StatusResponse = { status: Status }; export async function getStatus(slug: string): Promise { const res = await fetch(`https://api.openstatus.dev/public/status/${slug}`, { cache: "no-cache", }); if (res.ok) { const data = (await res.json()) as StatusResponse; return data; } return { status: "unknown" }; } export type StatusWidgetProps = { slug: string; href?: string; }; export async function StatusWidget({ slug, href }: StatusWidgetProps) { const { status } = await getStatus(slug); const { label, color } = statusDictionary[status]; return ( {label} {status === "operational" ? ( ) : null} ); }