2024-04-01 21:34:52 +03:00
|
|
|
import { Status } from "@/api/types";
|
|
|
|
|
import { Badge } from "./ui/badge";
|
|
|
|
|
|
|
|
|
|
type Props = {
|
|
|
|
|
status: Status;
|
|
|
|
|
};
|
|
|
|
|
|
2024-04-07 21:52:59 +03:00
|
|
|
function StatusBadge({ status }: Props) {
|
2024-04-01 21:34:52 +03:00
|
|
|
let variant: "default" | "success" | "destructive" | "warning" = "default";
|
|
|
|
|
if (status === "completed") {
|
|
|
|
|
variant = "success";
|
2024-05-30 21:49:15 +03:00
|
|
|
} else if (
|
|
|
|
|
status === "failed" ||
|
|
|
|
|
status === "terminated" ||
|
2024-06-26 15:57:24 -07:00
|
|
|
status === "timed_out" ||
|
|
|
|
|
status === "canceled"
|
2024-05-30 21:49:15 +03:00
|
|
|
) {
|
2024-04-01 21:34:52 +03:00
|
|
|
variant = "destructive";
|
|
|
|
|
} else if (status === "running") {
|
|
|
|
|
variant = "warning";
|
|
|
|
|
}
|
|
|
|
|
|
2024-05-30 22:22:25 +03:00
|
|
|
const statusText = status === "timed_out" ? "timed out" : status;
|
|
|
|
|
|
2024-06-03 10:56:26 -07:00
|
|
|
return (
|
2024-07-24 08:51:39 -07:00
|
|
|
<Badge className="flex h-7 w-24 justify-center" variant={variant}>
|
2024-06-03 10:56:26 -07:00
|
|
|
{statusText}
|
|
|
|
|
</Badge>
|
|
|
|
|
);
|
2024-04-01 21:34:52 +03:00
|
|
|
}
|
|
|
|
|
|
2024-04-07 21:52:59 +03:00
|
|
|
export { StatusBadge };
|