import { format } from 'date-fns' import { ru } from 'date-fns/locale' /** * Делает первую букву строки заглавной */ const capitalizeFirst = (str) => { if (!str) return '' return str.charAt(0).toUpperCase() + str.slice(1) } /** * Форматирует дату по-русски: "Вторник, 3 февраля 2026 г." */ export const formatRussianDate = (date) => { if (!date) return '' const formatted = format(new Date(date), 'EEEE, d MMMM yyyy г.', { locale: ru }) return capitalizeFirst(formatted) } /** * Форматирует диапазон дат по-русски: * "С понедельника, 2 февраля 2026 г. по вторник, 3 февраля 2026 г." */ export const formatRussianDateRange = (dateRange) => { if (!dateRange || !Array.isArray(dateRange) || dateRange.length < 2) { return '' } const [startDate, endDate] = dateRange if (!startDate || !endDate) return '' const formattedStart = format(new Date(startDate), 'd MMMM yyyy г.', { locale: ru }) const formattedEnd = format(new Date(endDate), 'd MMMM yyyy г.', { locale: ru }) return `С ${formattedStart.toLowerCase()} по ${formattedEnd.toLowerCase()}` } /** * Для совместимости со старым кодом */ export const formatDateWithCapital = (date) => { return formatRussianDate(date) }