import dayjs from "dayjs";
import isoWeek from "dayjs/plugin/isoWeek";
import "dayjs/locale/zh-cn";

dayjs.extend(isoWeek);
dayjs.locale("zh-cn");

const fmt = "YYYY-MM-DD";

/**
 * 日期范围快捷选项(用于 el-date-picker type="daterange" :shortcuts)
 * 周定义:周一为一周开始(基于 ISO week)
 */
export const dateRangeShortcuts = [
  {
    text: "今天",
    value: () => {
      const d = dayjs().format(fmt);
      return [d, d];
    },
  },
  {
    text: "昨天",
    value: () => {
      const d = dayjs().subtract(1, "day").format(fmt);
      return [d, d];
    },
  },
  {
    text: "本周",
    value: () => [
      dayjs().startOf("isoWeek").format(fmt),
      dayjs().endOf("isoWeek").format(fmt),
    ],
  },
  {
    text: "上周",
    value: () => [
      dayjs().subtract(1, "isoWeek").startOf("isoWeek").format(fmt),
      dayjs().subtract(1, "isoWeek").endOf("isoWeek").format(fmt),
    ],
  },
  {
    text: "本月",
    value: () => [
      dayjs().startOf("month").format(fmt),
      dayjs().endOf("month").format(fmt),
    ],
  },
  {
    text: "上月",
    value: () => [
      dayjs().subtract(1, "month").startOf("month").format(fmt),
      dayjs().subtract(1, "month").endOf("month").format(fmt),
    ],
  },
  {
    text: "最近六个月",
    value: () => [
      dayjs().subtract(6, "month").format(fmt),
      dayjs().format(fmt),
    ],
  },
  {
    text: "今年至今",
    value: () => [
      dayjs().startOf("year").format(fmt),
      dayjs().format(fmt),
    ],
  },
];

export default dateRangeShortcuts;