import type { AdminCandidateItem, AdminNominationReviewItem } from '../../types/awards'

export interface ReviewFormState {
  displayName: string
  channelSlug: string
  platform: string
  reviewNote: string
}

export interface ReviewStatItem {
  label: string
  value: number
}

export interface ReviewCategoryOption {
  id: number
  label: string
  count: number
}

export interface ReviewNominationCollision extends AdminCandidateItem {}

export interface ReviewManagerState {
  reviewSaving: number | null
  adminMessage: string
  adminError: string
  reviewFilter: string
  categoryFilter: number | null
  selectedNominationId: number | null
  reviewForms: Record<number, ReviewFormState>
  filteredNominations: AdminNominationReviewItem[]
  selectedNomination: AdminNominationReviewItem | null
  reviewStats: ReviewStatItem[]
  reviewedNominations: AdminNominationReviewItem[]
  categoryOptions: ReviewCategoryOption[]
  selectedCandidateCollision: ReviewNominationCollision | null
  canApproveSelected: boolean
}
