Files
pn-new-crm/src/components/reports/report-status-badge.tsx

32 lines
852 B
TypeScript
Raw Normal View History

'use client';
import { Loader2 } from 'lucide-react';
import { Badge } from '@/components/ui/badge';
type ReportStatus = 'queued' | 'processing' | 'ready' | 'failed';
interface ReportStatusBadgeProps {
status: ReportStatus;
}
export function ReportStatusBadge({ status }: ReportStatusBadgeProps) {
switch (status) {
case 'queued':
return <Badge variant="outline">Queued</Badge>;
case 'processing':
return (
<Badge variant="secondary" className="gap-1">
<Loader2 className="h-3 w-3 animate-spin" />
Processing
</Badge>
);
case 'ready':
return <Badge className="bg-green-600 text-white hover:bg-green-700">Ready</Badge>;
case 'failed':
return <Badge variant="destructive">Failed</Badge>;
default:
return <Badge variant="outline">{status}</Badge>;
}
}