Fixed timezone date format.

This commit is contained in:
Mike Cao 2024-08-20 14:15:47 -07:00
parent 17e2658fdc
commit 511fec2ddb
6 changed files with 22 additions and 20 deletions

View File

@ -6,7 +6,7 @@ import Link from 'next/link';
import Icons from 'components/icons'; import Icons from 'components/icons';
export function EventsTable({ data = [] }) { export function EventsTable({ data = [] }) {
const { formatDate } = useTimezone(); const { formatTimezoneDate } = useTimezone();
const { formatMessage, labels } = useMessages(); const { formatMessage, labels } = useMessages();
const { renderTeamUrl } = useTeamUrl(); const { renderTeamUrl } = useTeamUrl();
@ -35,7 +35,7 @@ export function EventsTable({ data = [] }) {
}} }}
</GridColumn> </GridColumn>
<GridColumn name="created" label={formatMessage(labels.created)} width={'300px'}> <GridColumn name="created" label={formatMessage(labels.created)} width={'300px'}>
{row => formatDate(row.createdAt, 'PPPpp')} {row => formatTimezoneDate(row.createdAt, 'PPPpp')}
</GridColumn> </GridColumn>
</GridTable> </GridTable>
); );

View File

@ -31,7 +31,7 @@ export function RealtimeLog({ data }: { data: RealtimeData }) {
const { formatMessage, labels, messages, FormattedMessage } = useMessages(); const { formatMessage, labels, messages, FormattedMessage } = useMessages();
const { formatValue } = useFormat(); const { formatValue } = useFormat();
const { locale } = useLocale(); const { locale } = useLocale();
const { formatDate } = useTimezone(); const { formatTimezoneDate } = useTimezone();
const { countryNames } = useCountryNames(locale); const { countryNames } = useCountryNames(locale);
const [filter, setFilter] = useState(TYPE_ALL); const [filter, setFilter] = useState(TYPE_ALL);
@ -54,7 +54,7 @@ export function RealtimeLog({ data }: { data: RealtimeData }) {
}, },
]; ];
const getTime = ({ createdAt, firstAt }) => formatDate(firstAt || createdAt, 'h:mm:ss'); const getTime = ({ createdAt, firstAt }) => formatTimezoneDate(firstAt || createdAt, 'h:mm:ss');
const getColor = ({ id, sessionId }) => stringToColor(sessionId || id); const getColor = ({ id, sessionId }) => stringToColor(sessionId || id);

View File

@ -6,7 +6,7 @@ import styles from './SessionsTable.module.css';
import TypeIcon from 'components/common/TypeIcon'; import TypeIcon from 'components/common/TypeIcon';
export function SessionsTable({ data = [] }: { data: any[]; showDomain?: boolean }) { export function SessionsTable({ data = [] }: { data: any[]; showDomain?: boolean }) {
const { formatDate } = useTimezone(); const { formatTimezoneDate } = useTimezone();
const { formatMessage, labels } = useMessages(); const { formatMessage, labels } = useMessages();
const { formatValue } = useFormat(); const { formatValue } = useFormat();
@ -51,7 +51,7 @@ export function SessionsTable({ data = [] }: { data: any[]; showDomain?: boolean
)} )}
</GridColumn> </GridColumn>
<GridColumn name="lastAt" label={formatMessage(labels.lastSeen)}> <GridColumn name="lastAt" label={formatMessage(labels.lastSeen)}>
{row => formatDate(row.createdAt, 'PPPpp')} {row => formatTimezoneDate(row.createdAt, 'PPPpp')}
</GridColumn> </GridColumn>
</GridTable> </GridTable>
); );

View File

@ -15,7 +15,7 @@ export function SessionActivity({
startDate: Date; startDate: Date;
endDate: Date; endDate: Date;
}) { }) {
const { formatDate } = useTimezone(); const { formatTimezoneDate } = useTimezone();
const { data, isLoading } = useSessionActivity(websiteId, sessionId, startDate, endDate); const { data, isLoading } = useSessionActivity(websiteId, sessionId, startDate, endDate);
if (isLoading) { if (isLoading) {
@ -33,12 +33,12 @@ export function SessionActivity({
return ( return (
<> <>
{showHeader && ( {showHeader && (
<div className={styles.header}>{formatDate(createdAt, 'EEEE, PPP')}</div> <div className={styles.header}>{formatTimezoneDate(createdAt, 'EEEE, PPP')}</div>
)} )}
<div key={eventId} className={styles.row}> <div key={eventId} className={styles.row}>
<div className={styles.time}> <div className={styles.time}>
<StatusLight color={`#${visitId?.substring(0, 6)}`}> <StatusLight color={`#${visitId?.substring(0, 6)}`}>
{formatDate(createdAt, 'h:mm:ss aaa')} {formatTimezoneDate(createdAt, 'h:mm:ss aaa')}
</StatusLight> </StatusLight>
</div> </div>
<Icon>{eventName ? <Icons.Bolt /> : <Icons.Eye />}</Icon> <Icon>{eventName ? <Icons.Bolt /> : <Icons.Eye />}</Icon>

View File

@ -6,7 +6,7 @@ import styles from './SessionInfo.module.css';
export default function SessionInfo({ data }) { export default function SessionInfo({ data }) {
const { locale } = useLocale(); const { locale } = useLocale();
const { formatDate } = useTimezone(); const { formatTimezoneDate } = useTimezone();
const { formatMessage, labels } = useMessages(); const { formatMessage, labels } = useMessages();
const { formatValue } = useFormat(); const { formatValue } = useFormat();
const { getRegionName } = useRegionNames(locale); const { getRegionName } = useRegionNames(locale);
@ -20,10 +20,10 @@ export default function SessionInfo({ data }) {
</dd> </dd>
<dt>{formatMessage(labels.lastSeen)}</dt> <dt>{formatMessage(labels.lastSeen)}</dt>
<dd>{formatDate(data?.lastAt, 'EEEE, PPPpp')}</dd> <dd>{formatTimezoneDate(data?.lastAt, 'EEEE, PPPpp')}</dd>
<dt>{formatMessage(labels.firstSeen)}</dt> <dt>{formatMessage(labels.firstSeen)}</dt>
<dd>{formatDate(data?.firstAt, 'EEEE, PPPpp')}</dd> <dd>{formatTimezoneDate(data?.firstAt, 'EEEE, PPPpp')}</dd>
<dt>{formatMessage(labels.country)}</dt> <dt>{formatMessage(labels.country)}</dt>
<dd> <dd>

View File

@ -13,13 +13,15 @@ export function useTimezone() {
setTimezone(value); setTimezone(value);
}; };
const formatDate = (date: string, pattern: string) => { const formatTimezoneDate = (date: string, pattern: string) => {
return formatInTimeZone( return (
/^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}Z$/.test(date) formatInTimeZone(
? date /^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(\.[0-9]{3})?Z$/.test(date)
: date.split(' ').join('T') + 'Z', ? date
timezone, : date.split(' ').join('T') + 'Z',
pattern, timezone,
pattern,
) + `, ${date}, ${pattern}, ${timezone}, ${formatInTimeZone(date, timezone, pattern)}`
); );
}; };
@ -31,7 +33,7 @@ export function useTimezone() {
return utcToZonedTime(date, timezone); return utcToZonedTime(date, timezone);
}; };
return { timezone, saveTimezone, formatDate, toUtc, fromUtc }; return { timezone, saveTimezone, formatTimezoneDate, toUtc, fromUtc };
} }
export default useTimezone; export default useTimezone;