export interface WorkshopSession {
  id: string
  title: string
  description: string
  session_type: 'ucca' | 'dsfa' | 'custom'
  status: 'DRAFT' | 'SCHEDULED' | 'ACTIVE' | 'PAUSED' | 'COMPLETED' | 'CANCELLED'
  current_step: number
  total_steps: number
  join_code: string
  require_auth: boolean
  allow_anonymous: boolean
  scheduled_start: string | null
  scheduled_end: string | null
  actual_start: string | null
  actual_end: string | null
  assessment_id: string | null
  roadmap_id: string | null
  portfolio_id: string | null
  created_at: string
  updated_at: string
}

export interface Participant {
  id: string
  session_id: string
  user_id: string | null
  name: string
  email: string
  role: 'FACILITATOR' | 'EXPERT' | 'STAKEHOLDER' | 'OBSERVER'
  department: string
  is_active: boolean
  last_active_at: string | null
  joined_at: string
  can_edit: boolean
  can_comment: boolean
  can_approve: boolean
}

export interface WorkshopResponse {
  id: string
  session_id: string
  participant_id: string
  step_number: number
  field_id: string
  value: unknown
  value_type: string
  response_status: 'PENDING' | 'DRAFT' | 'SUBMITTED' | 'REVIEWED'
  created_at: string
}

export interface WorkshopComment {
  id: string
  session_id: string
  participant_id: string
  step_number: number | null
  field_id: string | null
  text: string
  is_resolved: boolean
  created_at: string
}

export interface SessionStats {
  total_participants: number
  active_participants: number
  total_responses: number
  completed_steps: number
  total_steps: number
  progress: number
}

export const statusColors: Record<string, string> = {
  DRAFT: 'bg-gray-100 text-gray-700',
  SCHEDULED: 'bg-blue-100 text-blue-700',
  ACTIVE: 'bg-green-100 text-green-700',
  PAUSED: 'bg-yellow-100 text-yellow-700',
  COMPLETED: 'bg-purple-100 text-purple-700',
  CANCELLED: 'bg-red-100 text-red-700',
}

export const statusLabels: Record<string, string> = {
  DRAFT: 'Entwurf',
  SCHEDULED: 'Geplant',
  ACTIVE: 'Aktiv',
  PAUSED: 'Pausiert',
  COMPLETED: 'Abgeschlossen',
  CANCELLED: 'Abgebrochen',
}

export const typeLabels: Record<string, string> = {
  ucca: 'UCCA Assessment',
  dsfa: 'DSFA Workshop',
  custom: 'Benutzerdefiniert',
}
