import type { MarketingCalendarMonthCursor } from '#/views/marketing/calendar/types';

/**
 * 文件职责：营销日历页面工具函数。
 */

/** 创建当前月游标。 */
export function createCurrentMonthCursor(): MarketingCalendarMonthCursor {
  const now = new Date();
  return {
    year: now.getFullYear(),
    month: now.getMonth() + 1,
  };
}

/** 偏移月份。 */
export function shiftMonthCursor(
  current: MarketingCalendarMonthCursor,
  delta: number,
): MarketingCalendarMonthCursor {
  const target = new Date(current.year, current.month - 1 + delta, 1);
  return {
    year: target.getFullYear(),
    month: target.getMonth() + 1,
  };
}

/** 格式化月份标题。 */
export function formatMonthTitle(cursor: MarketingCalendarMonthCursor): string {
  return `${cursor.year}年 ${cursor.month}月`;
}

/** 格式化金额。 */
export function formatCurrency(value: number): string {
  return new Intl.NumberFormat('zh-CN', {
    style: 'currency',
    currency: 'CNY',
    minimumFractionDigits: 0,
    maximumFractionDigits: 2,
  }).format(value || 0);
}

/** 格式化起止日文案。 */
export function formatDayRange(startDay: number, endDay: number): string {
  return `${startDay}日~${endDay}日`;
}
