/**
 * Constantes de style pour les composants Chantier
 * Facilite la maintenance et la cohérence visuelle
 */

// Configuration des statuts avec couleurs et icônes
export const CHANTIER_STATUTS = {
  EN_COURS: {
    label: 'En cours',
    severity: 'success' as const,
    icon: 'pi pi-play-circle',
    color: 'text-green-500',
    bgColor: 'bg-green-100'
  },
  PLANIFIE: {
    label: 'Planifié',
    severity: 'info' as const,
    icon: 'pi pi-calendar',
    color: 'text-blue-500',
    bgColor: 'bg-blue-100'
  },
  EN_RETARD: {
    label: 'En retard',
    severity: 'danger' as const,
    icon: 'pi pi-exclamation-triangle',
    color: 'text-red-500',
    bgColor: 'bg-red-100'
  },
  TERMINE: {
    label: 'Terminé',
    severity: 'success' as const,
    icon: 'pi pi-check-circle',
    color: 'text-green-600',
    bgColor: 'bg-green-100'
  },
  SUSPENDU: {
    label: 'Suspendu',
    severity: 'warning' as const,
    icon: 'pi pi-pause-circle',
    color: 'text-orange-500',
    bgColor: 'bg-orange-100'
  }
} as const;

// Configuration des niveaux d'avancement
export const AVANCEMENT_CONFIG = {
  CRITIQUE: { threshold: 30, color: 'bg-red-500', textColor: 'text-red-600' },
  ATTENTION: { threshold: 60, color: 'bg-orange-500', textColor: 'text-orange-600' },
  PROGRES: { threshold: 90, color: 'bg-blue-500', textColor: 'text-blue-600' },
  TERMINE: { threshold: 100, color: 'bg-green-500', textColor: 'text-green-600' }
} as const;

// Configuration des boutons d'action
export const ACTION_BUTTONS = {
  VIEW: {
    icon: 'pi pi-eye',
    tooltip: 'Vue rapide',
    className: 'p-button-rounded p-button-text p-button-plain',
    color: 'text-blue-500'
  },
  PHASES: {
    icon: 'pi pi-sitemap',
    tooltip: 'Gérer les phases',
    className: 'p-button-rounded p-button-text p-button-plain',
    color: 'text-green-500'
  },
  PLANNING: {
    icon: 'pi pi-calendar',
    tooltip: 'Planning',
    className: 'p-button-rounded p-button-text p-button-plain',
    color: 'text-purple-500'
  },
  STATS: {
    icon: 'pi pi-chart-bar',
    tooltip: 'Statistiques',
    className: 'p-button-rounded p-button-text p-button-plain',
    color: 'text-cyan-500'
  },
  MENU: {
    icon: 'pi pi-ellipsis-v',
    tooltip: 'Plus d\'actions',
    className: 'p-button-rounded p-button-text p-button-plain',
    color: 'text-gray-600'
  }
} as const;

// Configuration des indicateurs d'urgence
export const URGENCE_INDICATORS = {
  RETARD: {
    icon: 'pi pi-exclamation-circle',
    color: 'text-red-500',
    tooltip: 'En retard'
  },
  BIENTOT_TERMINE: {
    icon: 'pi pi-flag-fill',
    color: 'text-green-500',
    tooltip: 'Bientôt terminé'
  }
} as const;

// Classes CSS communes
export const COMMON_CLASSES = {
  BUTTON_GROUP: 'flex gap-2',
  CARD_ICON: 'flex align-items-center justify-content-center border-round',
  PROGRESS_CONTAINER: 'flex align-items-center',
  STATUS_TAG: 'inline-flex align-items-center gap-2'
} as const;

// Types pour TypeScript
export type ChantierStatut = keyof typeof CHANTIER_STATUTS;
export type ActionButtonType = keyof typeof ACTION_BUTTONS;