import type { Tracker } from "@openstatus/tracker"; import { cn } from "@/lib/utils"; export function StatusCheck({ tracker }: { tracker: Tracker }) { const details = tracker.currentDetails; // FIXME: move icons into @openstatus/tracker lib function getVariant() { switch (details.variant) { case "maintenance": return Hammer; case "down": return Minus; case "degraded": return Minus; case "incident": return Alert; default: return Check; } } // REMINDER: we cannot use custom tailwind utility colors like `bg-status-operational/90` here function getClassName() { switch (details.variant) { case "maintenance": return "bg-blue-500/90 border-blue-500"; case "down": return "bg-rose-500/90 border-rose-500"; case "degraded": return "bg-amber-500/90 border-amber-500"; case "incident": return "bg-rose-500/90 border-rose-500"; default: return "bg-green-500/90 border-green-500"; } } const Icon = getVariant(); return (

{details.long}

); } function Hammer() { return ( ); } function Check() { return ( ); } function Minus() { return ( ); } function Alert() { return ( ); }