import { CheckCircle, LucideIcon } from 'lucide-react'; import type { EntityFilter, StatusFilter } from '@/types/moderation'; interface EmptyQueueStateProps { entityFilter: EntityFilter; statusFilter: StatusFilter; icon?: LucideIcon; title?: string; customMessage?: string; } const getEmptyStateMessage = (entityFilter: EntityFilter, statusFilter: StatusFilter): string => { const entityLabel = entityFilter === 'all' ? 'items' : entityFilter === 'reviews' ? 'reviews' : entityFilter === 'photos' ? 'photos' : 'submissions'; switch (statusFilter) { case 'pending': return `No pending ${entityLabel} require moderation at this time.`; case 'partially_approved': return `No partially approved ${entityLabel} found.`; case 'flagged': return `No flagged ${entityLabel} found.`; case 'approved': return `No approved ${entityLabel} found.`; case 'rejected': return `No rejected ${entityLabel} found.`; case 'all': return `No ${entityLabel} found.`; default: return `No ${entityLabel} found for the selected filter.`; } }; export const EmptyQueueState = ({ entityFilter, statusFilter, icon: Icon = CheckCircle, title = 'No items found', customMessage }: EmptyQueueStateProps) => { const message = customMessage || getEmptyStateMessage(entityFilter, statusFilter); return (
{message}