keep-around/544eb030b8d2730e2010fcdd26a2fcb76c45827f
parent
133bdd6423
commit
544eb030b8
@ -1,6 +0,0 @@ |
|||||||
import startOfDay from 'date-fns/startOfDay' |
|
||||||
|
|
||||||
export const getMoscowDate = (date: Date) => startOfDay(date).toLocaleString( |
|
||||||
'en-GB', |
|
||||||
{ timeZone: 'Europe/Moscow' }, |
|
||||||
) |
|
||||||
@ -1,19 +1,35 @@ |
|||||||
import { useCallback } from 'react' |
import { useCallback } from 'react' |
||||||
|
import format from 'date-fns/format' |
||||||
|
|
||||||
import { getHomeMatches } from 'requests' |
import { getHomeMatches } from 'requests/getMatches' |
||||||
|
|
||||||
import { useHeaderFiltersStore } from 'features/HeaderFilters' |
import { useHeaderFiltersStore } from 'features/HeaderFilters' |
||||||
|
|
||||||
|
/** |
||||||
|
* возвращает смещение в минутах относительно UTC |
||||||
|
* |
||||||
|
* Date.getTimezoneOffset() для UTC+3 возвращает -180 |
||||||
|
* но api ожидает 180 поэтому инвертируем смещение |
||||||
|
*/ |
||||||
|
const getTimezoneOffset = (date: Date) => { |
||||||
|
const offset = date.getTimezoneOffset() |
||||||
|
if (offset === 0) return offset |
||||||
|
return -(offset) |
||||||
|
} |
||||||
|
|
||||||
|
const getDate = (date: Date) => format(date, 'yyyy-MM-dd') |
||||||
|
|
||||||
export const useHomePage = () => { |
export const useHomePage = () => { |
||||||
const { selectedDateFormatted } = useHeaderFiltersStore() |
const { selectedDate } = useHeaderFiltersStore() |
||||||
|
|
||||||
const fetchMatches = useCallback( |
const fetchMatches = useCallback( |
||||||
(limit: number, offset: number) => getHomeMatches({ |
(limit: number, offset: number) => getHomeMatches({ |
||||||
date: selectedDateFormatted, |
date: getDate(selectedDate), |
||||||
limit, |
limit, |
||||||
offset, |
offset, |
||||||
|
timezoneOffset: getTimezoneOffset(selectedDate), |
||||||
}), |
}), |
||||||
[selectedDateFormatted], |
[selectedDate], |
||||||
) |
) |
||||||
return { fetchMatches } |
return { fetchMatches } |
||||||
} |
} |
||||||
|
|||||||
Loading…
Reference in new issue