import type { VariantProps } from 'class-variance-authority';

import { badgeVariants } from '@/Components/ui/badge-variants';

type BadgeVariant = NonNullable<VariantProps<typeof badgeVariants>['variant']>;

/**
 * Maps common admin status strings to Badge variant names.
 * Shared across all admin list pages to avoid duplicated mappings.
 * Note: 'completed' maps to 'success' (green) not 'default' (grey).
 */
export function getAdminStatusVariant(status: string): BadgeVariant {
  switch (status) {
    case 'completed':
    case 'active':
    case 'synced':
    case 'pass':
      return 'success';
    case 'pending':
    case 'processing':
    case 'in_review':
      return 'secondary';
    case 'failed':
    case 'cancelled':
    case 'rejected':
      return 'destructive';
    case 'approved':
    case 'in_progress':
      return 'default';
    case 'warn':
      return 'warning';
    default:
      return 'outline';
  }
}
