// ==================== TYPES ====================

export interface RoadmapPhase {
  id: string
  name: string
  status: 'completed' | 'in_progress' | 'planned' | 'future'
  progress: number
  startDate?: string
  endDate?: string
  description: string
  features: string[]
}

export interface Feature {
  id: string
  title: string
  description: string
  priority: 'critical' | 'high' | 'medium' | 'low'
  status: 'done' | 'in_progress' | 'todo' | 'backlog'
  phase: string
  effort: 'small' | 'medium' | 'large' | 'epic'
  assignee?: string
  dueDate?: string
  feedback?: string[]
}

export interface TeacherFeedback {
  id: string
  teacher: string
  date: string
  type: 'bug' | 'feature_request' | 'improvement' | 'praise' | 'question'
  priority: 'critical' | 'high' | 'medium' | 'low'
  status: 'new' | 'acknowledged' | 'planned' | 'implemented' | 'declined'
  title: string
  description: string
  relatedFeature?: string
  response?: string
}

// ==================== STYLE MAPS ====================

export const statusColors: Record<Feature['status'], string> = {
  done: 'bg-green-100 text-green-800',
  in_progress: 'bg-blue-100 text-blue-800',
  todo: 'bg-amber-100 text-amber-800',
  backlog: 'bg-slate-100 text-slate-600',
}

export const priorityColors: Record<Feature['priority'], string> = {
  critical: 'bg-red-500 text-white',
  high: 'bg-orange-500 text-white',
  medium: 'bg-yellow-500 text-white',
  low: 'bg-slate-400 text-white',
}

export const feedbackTypeIcons: Record<TeacherFeedback['type'], string> = {
  bug: 'M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z',
  feature_request: 'M12 6v6m0 0v6m0-6h6m-6 0H6',
  improvement: 'M13 10V3L4 14h7v7l9-11h-7z',
  praise: 'M4.318 6.318a4.5 4.5 0 000 6.364L12 20.364l7.682-7.682a4.5 4.5 0 00-6.364-6.364L12 7.636l-1.318-1.318a4.5 4.5 0 00-6.364 0z',
  question: 'M8.228 9c.549-1.165 2.03-2 3.772-2 2.21 0 4 1.343 4 3 0 1.4-1.278 2.575-3.006 2.907-.542.104-.994.54-.994 1.093m0 3h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z',
}
