import { cn } from "~/client/lib/utils"; import { Tooltip, TooltipContent, TooltipTrigger } from "./ui/tooltip"; type StatusVariant = "success" | "neutral" | "error" | "warning" | "info"; interface StatusDotProps { variant: StatusVariant; label: string; animated?: boolean; } export const StatusDot = ({ variant, label, animated }: StatusDotProps) => { const statusMapping = { success: { color: "bg-green-500", colorLight: "bg-emerald-400", animated: animated ?? true, }, neutral: { color: "bg-gray-500", colorLight: "bg-gray-400", animated: animated ?? false, }, error: { color: "bg-red-500", colorLight: "bg-red-400", animated: animated ?? true, }, warning: { color: "bg-yellow-500", colorLight: "bg-yellow-400", animated: animated ?? true, }, info: { color: "bg-blue-500", colorLight: "bg-blue-400", animated: animated ?? true, }, }[variant]; return ( {statusMapping?.animated && ( )}

{label}

); };