export interface ProcessStage {
  id: number | string;
  name: string;
  status: 'completed' | 'active' | 'pending';
  date?: string;
  description?: string;
  evaluators?: string[];
  documentsUploaded?: number;
  isParallel?: boolean;
  isLocked?: boolean;
  lockMessage?: string;
  branches?: {
    name: string;
    color: string;
    stages: ProcessStage[];
  }[];
}

export const KT_MATRIX_CRITERIA = [
  {
    name: 'Age',
    weight: 5,
    maxScore: 10,
    options: [
      { label: '20 to 40 years old', value: '20-40', score: 10 },
      { label: '40 to 50 years old', value: '40-50', score: 5 },
      { label: 'Above 50 years old', value: 'above-50', score: 0 },
    ],
  },
  {
    name: 'Qualification',
    weight: 5,
    maxScore: 10,
    options: [
      { label: 'Post Graduate', value: 'post-graduate', score: 10 },
      { label: 'Graduate', value: 'graduate', score: 5 },
      { label: 'SSLC', value: 'sslc', score: 0 },
    ],
  },
  {
    name: 'Local Knowledge and Influence',
    weight: 5,
    maxScore: 10,
    options: [
      { label: 'Excellent PR', value: 'excellent', score: 10 },
      { label: 'Good PR', value: 'good', score: 5 },
      { label: 'Poor PR', value: 'poor', score: 0 },
    ],
  },
  {
    name: 'Base Location vs Applied Location',
    weight: 10,
    maxScore: 10,
    options: [
      { label: 'Native of the Applied location', value: 'native', score: 10 },
      { label: 'Willing to relocate', value: 'relocate', score: 5 },
      { label: 'Will manage remotely with occasional visits', value: 'remote', score: 0 },
    ],
  },
  {
    name: 'Why Interested in Royal Enfield Business?',
    weight: 10,
    maxScore: 10,
    options: [
      { label: 'Passion', value: 'passion', score: 10 },
      { label: 'Business expansion / Status symbol', value: 'business', score: 5 },
    ],
  },
  {
    name: 'Passion for Royal Enfield',
    weight: 10,
    maxScore: 10,
    options: [
      { label: 'Currently owns a Royal Enfield', value: 'owns', score: 10 },
      { label: 'Owned by Immediate Relative', value: 'relative', score: 5 },
      { label: 'Does not own Royal Enfield', value: 'none', score: 0 },
    ],
  },
  {
    name: 'Passion For Rides',
    weight: 10,
    maxScore: 10,
    options: [
      { label: 'Goes for long rides regularly', value: 'regular', score: 10 },
      { label: 'Goes for long rides rarely', value: 'rarely', score: 5 },
      { label: "Doesn't go for rides", value: 'never', score: 0 },
    ],
  },
  {
    name: 'With Whom Partnering?',
    weight: 5,
    maxScore: 10,
    options: [
      { label: 'Within family', value: 'family', score: 10 },
      { label: 'Outside family', value: 'outside', score: 0 },
    ],
  },
  {
    name: 'Who Will Manage the Firm?',
    weight: 10,
    maxScore: 10,
    options: [
      { label: 'Owner managed', value: 'owner', score: 10 },
      { label: 'Partly owner / partly manager model', value: 'partly', score: 5 },
      { label: 'Fully manager model', value: 'manager', score: 0 },
    ],
  },
  {
    name: 'Business Acumen',
    weight: 5,
    maxScore: 10,
    options: [
      { label: 'Has similar automobile experience', value: 'automobile', score: 10 },
      { label: 'Has successful business but not automobile', value: 'other-business', score: 5 },
      { label: 'No business experience', value: 'no-experience', score: 0 },
    ],
  },
  {
    name: 'Time Availability',
    weight: 5,
    maxScore: 10,
    options: [
      { label: 'Full Time Availability for RE Business', value: 'full-time', score: 10 },
      { label: 'Part Time Availability for RE Business', value: 'part-time', score: 5 },
      { label: 'Not Available personally, Manager will handle', value: 'manager', score: 0 },
    ],
  },
  {
    name: 'Property Ownership',
    weight: 5,
    maxScore: 10,
    options: [
      { label: 'Has own property in proposed location', value: 'own', score: 10 },
      { label: 'Will rent / lease', value: 'rent', score: 0 },
    ],
  },
  {
    name: 'Investment in the Business',
    weight: 5,
    maxScore: 10,
    options: [
      { label: 'Full own funds', value: 'own-funds', score: 10 },
      { label: 'Partially from the bank', value: 'partial-bank', score: 5 },
      { label: 'Completely bank funded', value: 'full-bank', score: 0 },
    ],
  },
  {
    name: 'Will Expand to Other 2W/4W OEMs?',
    weight: 5,
    maxScore: 10,
    options: [
      { label: 'No', value: 'no', score: 10 },
      { label: 'Yes', value: 'yes', score: 0 },
    ],
  },
  {
    name: 'Plans of Expansion with RE',
    weight: 5,
    maxScore: 10,
    options: [
      { label: 'Immediate blood relation will join & expand', value: 'blood-relation', score: 10 },
      { label: 'Wants to expand by himself into more clusters', value: 'self-expand', score: 5 },
      { label: 'No plans for expansion', value: 'no-plans', score: 0 },
    ],
  },
];

export function auditLogActionBadgeClass(action: string): string {
  const a = String(action || '').toUpperCase();
  if (a.includes('REJECT') || a.includes('DELET') || a.includes('DISQUALIF')) return 'border-red-200 bg-red-50/90 text-red-800';
  if (a === 'CREATED' || a.includes('APPROV') || a.includes('COMPLETE')) return 'border-emerald-200 bg-emerald-50/90 text-emerald-900';
  if (a.includes('DOCUMENT') || a.includes('UPLOAD') || a.includes('ATTACHMENT')) return 'border-sky-200 bg-sky-50/80 text-sky-900';
  if (a.includes('PAYMENT') || a.includes('SECURITY') || a.includes('DEPOSIT')) return 'border-violet-200 bg-violet-50/80 text-violet-900';
  if (a.includes('FDD') || a.includes('QUESTIONNAIRE') || a.includes('INTERVIEW')) return 'border-amber-200 bg-amber-50/80 text-amber-900';
  return 'border-slate-200 bg-slate-50 text-slate-700';
}
