import { useMemo } from 'react'
import dayjs, { formatDate } from '../../../utils/dayjs-config'
import { Course } from '../../../__data__/model'

/**
 * Хук для группировки курсов по годам их начала
 * @param courses Массив курсов для группировки
 * @returns Объект с группировкой курсов по годам, отсортированный от новых к старым
 */
export const useGroupedCourses = (courses?: Course[]) => {
  return useMemo(() => {
    if (!courses?.length) return {}
    
    const grouped: Record<string, Course[]> = {}
    
    // Сортируем курсы по дате начала (от новых к старым)
    const sortedCourses = [...courses].sort((a, b) => 
      dayjs(b.startDt).valueOf() - dayjs(a.startDt).valueOf()
    )
    
    // Группируем по годам
    sortedCourses.forEach(course => {
      const year = formatDate(course.startDt, 'YYYY')
      if (!grouped[year]) {
        grouped[year] = []
      }
      grouped[year].push(course)
    })
    
    return grouped
  }, [courses])
} 