import { IconType } from "react-icons"; import { IoCheckmarkCircle, IoCloseCircleOutline, IoRemoveCircle, IoSyncCircle, } from "react-icons/io5"; import { cn } from "@/lib/utils"; import { Popover, PopoverContent, PopoverTrigger, } from "@/components/ui/popover"; type Props = { status: "pending" | "running" | "success" | "failed"; output?: string; }; const labels: Record = { pending: "Pending", running: "Running", success: "Success", failed: "Failed", }; const colors: Record = { pending: "bg-gray-500", running: "bg-blue-500", success: "bg-green-600", failed: "bg-red-500", }; const icons: Record = { pending: IoRemoveCircle, running: IoSyncCircle, success: IoCheckmarkCircle, failed: IoCloseCircleOutline, }; const BackupStatus = ({ status, output }: Props) => { const Icon = icons[status] || "div"; return (

{labels[status]}

{output}

); }; export default BackupStatus;