import type { UserRole } from '@/types/api';

/** Tag color for each role (Ant Design Tag color prop values) */
export const ROLE_COLORS: Record<string, string> = {
  SUPER_ADMIN: 'red',
  INFLUENCE_ADMIN: 'blue',
  MAP_ADMIN: 'green',
  BROADCAST_ADMIN: 'cyan',
  CONTENT_ADMIN: 'geekblue',
  MEDIA_ADMIN: 'purple',
  PAYMENTS_ADMIN: 'gold',
  EVENTS_ADMIN: 'magenta',
  SOCIAL_ADMIN: 'volcano',
  USER: 'default',
  TEMP: 'orange',
};

/** Role options for Select components (no "All" entry) */
export const ROLE_OPTIONS: { label: string; value: UserRole }[] = [
  { label: 'Super Admin', value: 'SUPER_ADMIN' },
  { label: 'Influence Admin', value: 'INFLUENCE_ADMIN' },
  { label: 'Map Admin', value: 'MAP_ADMIN' },
  { label: 'Broadcast Admin', value: 'BROADCAST_ADMIN' },
  { label: 'Content Admin', value: 'CONTENT_ADMIN' },
  { label: 'Media Admin', value: 'MEDIA_ADMIN' },
  { label: 'Payments Admin', value: 'PAYMENTS_ADMIN' },
  { label: 'Events Admin', value: 'EVENTS_ADMIN' },
  { label: 'Social Admin', value: 'SOCIAL_ADMIN' },
  { label: 'User', value: 'USER' },
  { label: 'Temp', value: 'TEMP' },
];

/** Role options with a leading "All Roles" entry for filter dropdowns */
export const ROLE_FILTER_OPTIONS: { label: string; value: string }[] = [
  { label: 'All Roles', value: '' },
  ...ROLE_OPTIONS,
];
