/** Large result chips: worked | partial | failed | pending. */ import { Pressable } from "./Pressable"; export type ResultValue = "worked" | "partial" | "failed" | "pending"; export type ResolveResult = Exclude; const ALL: { value: ResultValue; label: string }[] = [ { value: "worked", label: "Worked" }, { value: "partial", label: "Partial" }, { value: "failed", label: "Failed" }, { value: "pending", label: "Pending" }, ]; type Props = { value: ResultValue | null; onChange: (value: ResultValue) => void; /** Resolve UI excludes pending. */ excludePending?: boolean; }; export function ResultChips({ value, onChange, excludePending = false }: Props) { const options = excludePending ? ALL.filter((option) => option.value !== "pending") : ALL; return (
{options.map((option) => ( onChange(option.value)} > {option.label} ))}
); }