fix(dashboard): add weekly interval #154

This commit is contained in:
Carl-Gerhard Lindesvärd
2025-05-14 22:28:14 +02:00
parent 0eed1e168f
commit af7146f555
4 changed files with 28 additions and 0 deletions

View File

@@ -37,6 +37,10 @@ export function OverviewInterval() {
value: 'day', value: 'day',
label: 'Day', label: 'Day',
}, },
{
value: 'week',
label: 'Week',
},
{ {
value: 'month', value: 'month',
label: 'Month', label: 'Month',

View File

@@ -62,6 +62,15 @@ export function ReportInterval({
value: 'day', value: 'day',
label: 'Day', label: 'Day',
}, },
{
value: 'week',
label: 'Week',
disabled:
range === 'today' ||
range === 'lastHour' ||
range === '30min' ||
range === '7d',
},
{ {
value: 'month', value: 'month',
label: 'Month', label: 'Month',

View File

@@ -13,6 +13,14 @@ export function formatDateInterval(interval: IInterval, date: Date): string {
return new Intl.DateTimeFormat('en-GB', { month: 'short' }).format(date); return new Intl.DateTimeFormat('en-GB', { month: 'short' }).format(date);
} }
if (interval === 'week') {
return new Intl.DateTimeFormat('en-GB', {
weekday: 'short',
day: '2-digit',
month: '2-digit',
}).format(date);
}
if (interval === 'day') { if (interval === 'day') {
return new Intl.DateTimeFormat('en-GB', { return new Intl.DateTimeFormat('en-GB', {
weekday: 'short', weekday: 'short',

View File

@@ -3,12 +3,14 @@ import {
addHours, addHours,
addMinutes, addMinutes,
addMonths, addMonths,
addWeeks,
format, format,
parseISO, parseISO,
startOfDay, startOfDay,
startOfHour, startOfHour,
startOfMinute, startOfMinute,
startOfMonth, startOfMonth,
startOfWeek,
} from 'date-fns'; } from 'date-fns';
import { NOT_SET_VALUE } from '@openpanel/constants'; import { NOT_SET_VALUE } from '@openpanel/constants';
@@ -39,6 +41,8 @@ function roundDate(date: Date, interval: IInterval): Date {
return startOfHour(date); return startOfHour(date);
case 'day': case 'day':
return startOfDay(date); return startOfDay(date);
case 'week':
return startOfWeek(date);
case 'month': case 'month':
return startOfMonth(date); return startOfMonth(date);
default: default:
@@ -125,6 +129,9 @@ export function completeSerie(
case 'day': case 'day':
currentDate = addDays(currentDate, 1); currentDate = addDays(currentDate, 1);
break; break;
case 'week':
currentDate = addWeeks(currentDate, 1);
break;
case 'month': case 'month':
currentDate = addMonths(currentDate, 1); currentDate = addMonths(currentDate, 1);
break; break;