diff --git a/src/components/CalendarGrid.vue b/src/components/CalendarGrid.vue index abdfabb..08bbab2 100644 --- a/src/components/CalendarGrid.vue +++ b/src/components/CalendarGrid.vue @@ -31,6 +31,8 @@ import { toLocalString, mondayIndex, DEFAULT_TZ, + MIN_YEAR, + MAX_YEAR, } from '@/utils/date' import { addDays } from 'date-fns' import WeekRow from './WeekRow.vue' @@ -43,8 +45,6 @@ const minVirtualWeek = ref(0) const visibleWeeks = ref([]) const config = { - min_year: 1900, - max_year: 2100, weekend: getLocaleWeekendDays(), } @@ -116,7 +116,7 @@ const handleWheel = (e) => { const currentYear = calendarStore.viewYear const delta = Math.round(e.deltaY * (1 / 3)) if (!delta) return - const newYear = Math.max(config.min_year, Math.min(config.max_year, currentYear + delta)) + const newYear = Math.max(MIN_YEAR, Math.min(MAX_YEAR, currentYear + delta)) if (newYear === currentYear) return const topDisplayIndex = Math.floor(viewportEl.value.scrollTop / rowHeight.value) @@ -156,8 +156,8 @@ const goToTodayHandler = () => { onMounted(() => { rowHeight.value = computeRowHeight() - const minYearDate = new Date(config.min_year, 0, 1) - const maxYearLastDay = new Date(config.max_year, 11, 31) + const minYearDate = new Date(MIN_YEAR, 0, 1) + const maxYearLastDay = new Date(MAX_YEAR, 11, 31) const lastWeekMonday = addDays(maxYearLastDay, -mondayIndex(maxYearLastDay)) minVirtualWeek.value = getWeekIndex(minYearDate) diff --git a/src/components/CalendarHeader.vue b/src/components/CalendarHeader.vue index e9af1d6..f82fa43 100644 --- a/src/components/CalendarHeader.vue +++ b/src/components/CalendarHeader.vue @@ -6,6 +6,8 @@ import { reorderByFirstDay, getISOWeek, getISOWeekYear, + MIN_YEAR, + MAX_YEAR, } from '@/utils/date' import Numeric from '@/components/Numeric.vue' import { addDays } from 'date-fns' @@ -49,7 +51,7 @@ function isoWeekMonday(isoYear, isoWeek) { function changeYear(y) { if (y == null) return - y = Math.round(Math.max(calendarStore.minYear, Math.min(calendarStore.maxYear, y))) + y = Math.round(Math.max(MIN_YEAR, Math.min(MAX_YEAR, y))) if (y === currentYear.value) return const vw = topVirtualWeek.value // Fraction within current row @@ -94,8 +96,8 @@ const weekdayNames = computed(() => { { - const date = new Date(calendarStore.minYear, 0, 1) + const date = new Date(MIN_YEAR, 0, 1) const dayOffset = (date.getDay() - calendarStore.config.first_day + 7) % 7 const firstDayOfWeek = addDays(date, -dayOffset) return differenceInWeeks(firstDayOfWeek, baseDate.value) }) const maxVirtualWeek = computed(() => { - const date = new Date(calendarStore.maxYear, 11, 31) + const date = new Date(MAX_YEAR, 11, 31) const dayOffset = (date.getDay() - calendarStore.config.first_day + 7) % 7 const firstDayOfWeek = addDays(date, -dayOffset) return differenceInWeeks(firstDayOfWeek, baseDate.value) @@ -276,7 +278,7 @@ function createWeek(virtualWeek) { let monthLabel = null if (hasFirst && monthToLabel !== null) { - if (labelYear && labelYear <= calendarStore.config.max_year) { + if (labelYear && labelYear <= MAX_YEAR) { let weeksSpan = 0 const d = addDays(cur, -1) diff --git a/src/components/Numeric.vue b/src/components/Numeric.vue index c2085dd..3837c9e 100644 --- a/src/components/Numeric.vue +++ b/src/components/Numeric.vue @@ -2,7 +2,7 @@