Source: frontend/src/utils/dateUtils.js


/**
 * Повертає поточну дату у форматі YYYY-MM-DD.
 * @returns {string} Поточна дата для використання в API-запитах і стані компонента.
 */
export const today = () => new Date().toISOString().split('T')[0]

/**
 * Додає або віднімає задану кількість днів від дати у форматі YYYY-MM-DD.
 * @param {string} dateStr Базова дата у форматі YYYY-MM-DD.
 * @param {number} n Кількість днів для зміщення.
 * @returns {string} Нова дата у форматі YYYY-MM-DD.
 */
export const addDays = (dateStr, n) => {
  const parts = dateStr.split('-')
  const d = new Date(+parts[0], +parts[1] - 1, +parts[2])
  d.setDate(d.getDate() + n)
  const y = d.getFullYear()
  const m = String(d.getMonth() + 1).padStart(2, '0')
  const day = String(d.getDate()).padStart(2, '0')
  return `${y}-${m}-${day}`
}

/**
 * Форматує дату для відображення в інтерфейсі українською мовою.
 * @param {string} dateStr Дата у форматі YYYY-MM-DD.
 * @returns {string} Локалізоване текстове представлення дати.
 */
export const displayDateLong = (dateStr) =>
  new Date(dateStr + 'T00:00:00').toLocaleDateString('uk-UA', {
    weekday: 'long', day: 'numeric', month: 'long'
  })

export const displayDateShort = (dateStr) =>
  new Date(dateStr + 'T00:00:00').toLocaleDateString('uk-UA', {
    weekday: 'short', day: 'numeric', month: 'short'
  })