/**
 * Configuration mappers for priority and status badges
 */

import { Flame, Target, CheckCircle, XCircle, Clock, Edit, AlertCircle } from 'lucide-react';

export const getPriorityConfig = (priority: string) => {
  switch (priority) {
    case 'express':
      return {
        color: 'bg-red-100 text-red-800 border-red-200',
        icon: Flame,
        iconColor: 'text-red-600'
      };
    case 'standard':
      return {
        color: 'bg-blue-100 text-blue-800 border-blue-200',
        icon: Target,
        iconColor: 'text-blue-600'
      };
    default:
      return {
        color: 'bg-gray-100 text-gray-800 border-gray-200',
        icon: Target,
        iconColor: 'text-gray-600'
      };
  }
};

export const getStatusConfig = (status: string): { color: string; label: string; icon: typeof CheckCircle; iconColor: string } => {
  switch (status) {
    case 'approved':
      return {
        color: 'bg-green-100 text-green-800 border-green-200',
        label: 'approved',
        icon: CheckCircle,
        iconColor: 'text-green-600'
      };
    case 'rejected':
      return {
        color: 'bg-red-100 text-red-800 border-red-200',
        label: 'rejected',
        icon: XCircle,
        iconColor: 'text-red-600'
      };
    case 'pending':
      return {
        color: 'bg-yellow-100 text-yellow-800 border-yellow-200',
        label: 'pending',
        icon: Clock,
        iconColor: 'text-yellow-600'
      };
    case 'closed':
      return {
        color: 'bg-gray-100 text-gray-800 border-gray-200',
        label: 'closed',
        icon: CheckCircle,
        iconColor: 'text-gray-600'
      };
    case 'draft':
      return {
        color: 'bg-gray-100 text-gray-800 border-gray-200',
        label: 'draft',
        icon: Edit,
        iconColor: 'text-gray-600'
      };
    default:
      return {
        color: 'bg-gray-100 text-gray-800 border-gray-200',
        label: status,
        icon: AlertCircle,
        iconColor: 'text-gray-600'
      };
  }
};

