import type { CandidateSummary } from '../../types/awards'

export type HomeInteractionModalKind = 'show' | 'vote' | 'nominate' | 'clip'

export type HomePreviewPhase = 'nomination' | 'voting' | 'preparation' | 'show' | 'completed'

export type HomeSuccessKind = 'vote' | 'show' | 'clip' | 'nomination'

export interface HomeClipSubmitContext {
  clipUrl: string
  selectedNomineeQuery: string
  description: string
}

export interface HomeNominationSubmitContext {
  entries: Array<{
    categoryIndex: number
    streamUrls: string[]
  }>
}

export interface HomeDisplayCategory {
  id: string
  groupName: string
  name: string
  icon: string
  maxNomineesPerUser: number
  candidates: CandidateSummary[]
}

export interface HomeLandingCategory {
  id: string
  groupName: string
  name: string
  icon: string
  description: string
  maxNomineesPerUser: number
  subcategoryNames: string[]
}
