feat: 🎸 ott-2781-DateFilter-navigation

keep-around/b214ac7012ef42593bee62c207888a2593bc5a38
Zoia R 3 years ago
parent ab81156e5a
commit 0c2261f35c
  1. 2
      src/features/HeaderFilters/components/DateFilter/helpers.tsx
  2. 15
      src/features/HeaderFilters/components/DateFilter/hooks/index.tsx

@ -29,7 +29,7 @@ export const getDisplayDate = ({
year: date.getFullYear(), year: date.getFullYear(),
}) })
const getWeekName = (date: Date, locale: string) => ( export const getWeekName = (date: Date, locale: string) => (
new Intl.DateTimeFormat(locale || 'en', { weekday: 'short' }).format(date) new Intl.DateTimeFormat(locale || 'en', { weekday: 'short' }).format(date)
) )

@ -1,3 +1,5 @@
/* eslint-disable no-console */
/* eslint-disable no-debugger */
import { import {
MouseEvent, MouseEvent,
useEffect, useEffect,
@ -11,7 +13,11 @@ import { useToggle } from 'hooks'
import { useLexicsStore } from 'features/LexicsStore' import { useLexicsStore } from 'features/LexicsStore'
import { useHeaderFiltersStore } from 'features/HeaderFilters' import { useHeaderFiltersStore } from 'features/HeaderFilters'
import { getDisplayDate, getWeeks } from '../helpers' import {
getDisplayDate,
getWeekName,
getWeeks,
} from '../helpers'
export const useDateFilter = () => { export const useDateFilter = () => {
const { const {
@ -41,6 +47,7 @@ export const useDateFilter = () => {
const filters = localStorage.getItem('filters') const filters = localStorage.getItem('filters')
const parseFilters = filters && JSON.parse(filters) const parseFilters = filters && JSON.parse(filters)
const lastDate = parseFilters?.selectedDate const lastDate = parseFilters?.selectedDate
const weekName = getWeekName(selectedDate, 'en')
useEffect(() => { useEffect(() => {
if (lastDate === selectedDate.getDate() if (lastDate === selectedDate.getDate()
&& parseFilters && parseFilters
@ -57,11 +64,13 @@ export const useDateFilter = () => {
}, [selectedDate]) }, [selectedDate])
const onPreviousClick = () => { const onPreviousClick = () => {
setSelectedDate(addDays(selectedDate, -7)) const numberAddDays = weekName === 'Mon' ? -1 : -7
setSelectedDate(addDays(selectedDate, numberAddDays))
} }
const onNextClick = () => { const onNextClick = () => {
setSelectedDate(addDays(selectedDate, 7)) const numberAddDays = weekName === 'Sun' ? 1 : 7
setSelectedDate(addDays(selectedDate, numberAddDays))
} }
const onDateChange = (newDate: Date | null) => { const onDateChange = (newDate: Date | null) => {

Loading…
Cancel
Save