import { CheckCircle2, Clock, Play, Repeat } from 'lucide-react'
import type { OccurrenceOut } from '@/api/conferences'

export type OccurrenceBadgeKind = 'scheduled' | 'pinned' | 'live' | 'ended'

/** Общая логика статус-бейджа вхождения — используется чипом календаря и информационным окном (`ConferenceOccurrenceDialog`). */
export function occurrenceBadge(
  occ: OccurrenceOut,
  start: Date | null,
  end: Date | null,
): { kind: OccurrenceBadgeKind; label: string } {
  const now = new Date()
  if (start && end && now >= start && now <= end) return { kind: 'live', label: 'Идёт сейчас' }
  if (end && now > end) return { kind: 'ended', label: 'Завершена' }
  if (occ.is_pinned) return { kind: 'pinned', label: 'Закреплена' }
  return { kind: 'scheduled', label: 'Запланирована' }
}

export const OCCURRENCE_BADGE_ICON: Record<OccurrenceBadgeKind, typeof Clock> = {
  scheduled: Clock,
  pinned: Repeat,
  live: Play,
  ended: CheckCircle2,
}
