Render UTC dates in sessions.

This commit is contained in:
Mike Cao 2024-08-16 00:35:08 -07:00
parent c79720ae1d
commit deb9dd60df
10 changed files with 35 additions and 62 deletions

View file

@ -1,17 +1,12 @@
import { useApi } from './useApi';
export function useSessionActivity(
websiteId: string,
sessionId: string,
startDate: string,
endDate: string,
) {
export function useSessionActivity(websiteId: string, sessionId: string) {
const { get, useQuery } = useApi();
return useQuery({
queryKey: ['session:activity', { websiteId, sessionId }],
queryFn: () => {
return get(`/websites/${websiteId}/sessions/${sessionId}/activity`, { startDate, endDate });
return get(`/websites/${websiteId}/sessions/${sessionId}/activity`);
},
});
}

View file

@ -1,19 +1,18 @@
import { useNavigation } from './useNavigation';
import { useDateRange } from './useDateRange';
import { useTimezone } from './useTimezone';
import { zonedTimeToUtc } from 'date-fns-tz';
export function useFilterParams(websiteId: string) {
const { dateRange } = useDateRange(websiteId);
const { startDate, endDate, unit } = dateRange;
const { timezone } = useTimezone();
const { timezone, toUtc } = useTimezone();
const {
query: { url, referrer, title, query, host, os, browser, device, country, region, city, event },
} = useNavigation();
return {
startAt: +zonedTimeToUtc(startDate, timezone),
endAt: +zonedTimeToUtc(endDate, timezone),
startAt: +toUtc(startDate),
endAt: +toUtc(endDate),
unit,
timezone,
url,

View file

@ -1,6 +1,6 @@
import { setItem } from 'next-basics';
import { TIMEZONE_CONFIG } from 'lib/constants';
import { formatInTimeZone } from 'date-fns-tz';
import { formatInTimeZone, zonedTimeToUtc, utcToZonedTime } from 'date-fns-tz';
import useStore, { setTimezone } from 'store/app';
const selector = (state: { timezone: string }) => state.timezone;
@ -23,7 +23,15 @@ export function useTimezone() {
);
};
return { timezone, saveTimezone, formatDate };
const toUtc = (date: Date | string | number) => {
return zonedTimeToUtc(date, timezone);
};
const fromUtc = (date: Date | string | number) => {
return utcToZonedTime(date, timezone);
};
return { timezone, saveTimezone, formatDate, toUtc, fromUtc };
}
export default useTimezone;