import { ArrowPathIcon, CheckCircleIcon, NoSymbolIcon } from "@heroicons/react/20/solid"; import type { BulkActionStatus, BulkActionType } from "@trigger.dev/database"; import assertNever from "assert-never"; import { Spinner } from "~/components/primitives/Spinner"; import { cn } from "~/utils/cn"; export function BulkActionTypeCombo({ type, className, iconClassName, labelClassName, }: { type: BulkActionType; className?: string; iconClassName?: string; labelClassName?: string; }) { return ( ); } export function BulkActionLabel({ type, className }: { type: BulkActionType; className?: string }) { return {bulkActionTitle(type)}; } export function BulkActionIcon({ type, className }: { type: BulkActionType; className: string }) { switch (type) { case "REPLAY": return ; case "CANCEL": return ; default: { assertNever(type); } } } export function bulkActionClassName(type: BulkActionType): string { switch (type) { case "REPLAY": return "text-indigo-500"; case "CANCEL": return "text-rose-500"; default: { assertNever(type); } } } export function bulkActionTitle(type: BulkActionType): string { switch (type) { case "REPLAY": return "Replay"; case "CANCEL": return "Cancel"; default: { assertNever(type); } } } export function bulkActionVerb(type: BulkActionType): string { switch (type) { case "REPLAY": return "Replaying"; case "CANCEL": return "Canceling"; default: { assertNever(type); } } } export function BulkActionStatusCombo({ status, className, iconClassName, labelClassName, }: { status: BulkActionStatus; className?: string; iconClassName?: string; labelClassName?: string; }) { return ( ); } export function BulkActionStatusIcon({ status, className, }: { status: BulkActionStatus; className: string; }) { switch (status) { case "PENDING": return ; case "COMPLETED": return ; case "ABORTED": return ; default: { assertNever(status); } } } export function BulkActionStatusLabel({ status, className, }: { status: BulkActionStatus; className?: string; }) { switch (status) { case "PENDING": return In progress; case "COMPLETED": return Completed; case "ABORTED": return Aborted; default: { assertNever(status); } } }