import { HTMLAttributes } from 'react'; import { CheckCircle2, Clock, File } from 'lucide-react'; import type { LucideIcon } from 'lucide-react/dist/lucide-react'; import { DocumentStatus as InternalDocumentStatus } from '@documenso/prisma/client'; import { cn } from '@documenso/ui/lib/utils'; type FriendlyStatus = { label: string; icon: LucideIcon; color: string; }; const FRIENDLY_STATUS_MAP: Record = { DRAFT: { label: 'Draft', icon: File, color: 'text-yellow-500', }, PENDING: { label: 'Pending', icon: Clock, color: 'text-blue-600', }, COMPLETED: { label: 'Completed', icon: CheckCircle2, color: 'text-green-500', }, }; export type DocumentStatusProps = HTMLAttributes & { status: InternalDocumentStatus; inheritColor?: boolean; }; export const DocumentStatus = ({ className, status, inheritColor, ...props }: DocumentStatusProps) => { const { label, icon: Icon, color } = FRIENDLY_STATUS_MAP[status]; return ( {label} ); };