fix(dashboard): ensure we only pass dates to formatdate

This commit is contained in:
Carl-Gerhard Lindesvärd
2025-03-13 21:17:20 +01:00
parent 08b07e42fb
commit 1784a48bfc
2 changed files with 30 additions and 18 deletions

View File

@@ -72,7 +72,15 @@ export const useXAxisProps = (
scale: 'utc',
domain: ['dataMin', 'dataMax'] as AxisDomain,
tickFormatter:
interval === 'auto' ? undefined : (m: string) => formatDate(new Date(m)),
interval === 'auto'
? undefined
: (m: string) => {
if (['dataMin', 'dataMax'].includes(m)) {
return m;
}
return formatDate(new Date(m));
},
type: 'number' as const,
tickLine: false,
minTickGap: 20,

View File

@@ -1,26 +1,30 @@
import type { IInterval } from '@openpanel/validation';
export function formatDateInterval(interval: IInterval, date: Date): string {
if (interval === 'hour' || interval === 'minute') {
return new Intl.DateTimeFormat('en-GB', {
hour: '2-digit',
minute: '2-digit',
}).format(date);
}
try {
if (interval === 'hour' || interval === 'minute') {
return new Intl.DateTimeFormat('en-GB', {
hour: '2-digit',
minute: '2-digit',
}).format(date);
}
if (interval === 'month') {
return new Intl.DateTimeFormat('en-GB', { month: 'short' }).format(date);
}
if (interval === 'month') {
return new Intl.DateTimeFormat('en-GB', { month: 'short' }).format(date);
}
if (interval === 'day') {
return new Intl.DateTimeFormat('en-GB', {
weekday: 'short',
day: '2-digit',
month: '2-digit',
}).format(date);
}
if (interval === 'day') {
return new Intl.DateTimeFormat('en-GB', {
weekday: 'short',
day: '2-digit',
month: '2-digit',
}).format(date);
}
return date.toISOString();
return date.toISOString();
} catch (e) {
return '';
}
}
export function useFormatDateInterval(interval: IInterval) {