From ec5207947b6247377ee834f838650396e97be589 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carl-Gerhard=20Lindesva=CC=88rd?= Date: Sun, 30 Mar 2025 22:59:49 +0200 Subject: [PATCH] fix(dashboard): crashes when trial expired for some intervals --- apps/dashboard/src/components/overview/overview-metrics.tsx | 6 +++++- packages/trpc/src/routers/overview.ts | 4 ++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/apps/dashboard/src/components/overview/overview-metrics.tsx b/apps/dashboard/src/components/overview/overview-metrics.tsx index 9c77efd4..10a8010f 100644 --- a/apps/dashboard/src/components/overview/overview-metrics.tsx +++ b/apps/dashboard/src/components/overview/overview-metrics.tsx @@ -219,10 +219,14 @@ const { Tooltip, TooltipProvider } = createChartTooltip< interval: IInterval; } >(({ context: { metric, interval }, data: dataArray }) => { - const data = dataArray[0]!; + const data = dataArray[0]; const formatDate = useFormatDateInterval(interval); const number = useNumber(); + if (!data) { + return null; + } + return ( <>
diff --git a/packages/trpc/src/routers/overview.ts b/packages/trpc/src/routers/overview.ts index 81310623..6b7bcf95 100644 --- a/packages/trpc/src/routers/overview.ts +++ b/packages/trpc/src/routers/overview.ts @@ -50,6 +50,10 @@ function getCurrentAndPrevious< ); if (endDate) { current.endDate = endDate; + // Only expired trial scenarios + if (new Date(current.startDate) > new Date(current.endDate)) { + current.startDate = current.endDate; + } } const res = await Promise.all([ fn({