'use client'; // File: components/distribution/DistributionStatus.tsx // แสดงสถานะ Distribution ของ RFA หลังอนุมัติ (T060) import React from 'react'; import { CheckCircle2, Clock, SendHorizonal, Users } from 'lucide-react'; import { Badge } from '@/components/ui/badge'; import { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/card'; type DistributionStatus = 'PENDING' | 'PROCESSING' | 'COMPLETED' | 'FAILED'; interface DistributionRecord { publicId: string; status: DistributionStatus; transmittalCount: number; recipientCount: number; processedAt?: string; error?: string; } interface DistributionStatusProps { rfaPublicId: string; distribution?: DistributionRecord; isLoading?: boolean; } const STATUS_CONFIG: Record< DistributionStatus, { label: string; variant: 'default' | 'secondary' | 'destructive' | 'outline'; icon: React.ElementType } > = { PENDING: { label: 'Queued', variant: 'outline', icon: Clock }, PROCESSING: { label: 'Processing', variant: 'secondary', icon: Clock }, COMPLETED: { label: 'Distributed', variant: 'default', icon: CheckCircle2 }, FAILED: { label: 'Failed', variant: 'destructive', icon: Clock }, }; export function DistributionStatus({ rfaPublicId: _rfaPublicId, distribution, isLoading }: DistributionStatusProps) { if (isLoading) { return
{distribution.error}
)}