From 1dc78e00be558e18d9277a4dd06f865f43d39983 Mon Sep 17 00:00:00 2001 From: Joaquim Verges Date: Mon, 3 Nov 2025 15:14:21 +1300 Subject: [PATCH] [Dashboard] Fix active users aggregation in project highlights card --- .../(sidebar)/overview/highlights-card.tsx | 8 ++++++++ .../[project_slug]/(sidebar)/page.tsx | 17 ++++++++++++++++- 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/overview/highlights-card.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/overview/highlights-card.tsx index 5538d2a86ef..53f9e9028be 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/overview/highlights-card.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/overview/highlights-card.tsx @@ -14,6 +14,7 @@ type AggregatedMetrics = { export function ProjectHighlightsCard(props: { selectedChart: string | undefined; + aggregatedUserStats: InAppWalletStats[]; userStats: InAppWalletStats[]; volumeStats: UniversalBridgeStats[]; teamSlug: string; @@ -22,6 +23,7 @@ export function ProjectHighlightsCard(props: { }) { const { selectedChart, + aggregatedUserStats, userStats, volumeStats, teamSlug, @@ -70,6 +72,12 @@ export function ProjectHighlightsCard(props: { : "activeUsers" } aggregateFn={(_data, key) => { + if (key === "activeUsers") { + return aggregatedUserStats.reduce( + (acc, curr) => acc + curr.uniqueWalletsConnected, + 0, + ); + } return timeSeriesData.reduce((acc, curr) => acc + curr[key], 0); }} chartConfig={chartConfig} diff --git a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/page.tsx b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/page.tsx index f2bdf920278..3226572d485 100644 --- a/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/page.tsx +++ b/apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/page.tsx @@ -378,8 +378,18 @@ async function AsyncAppHighlightsCard(props: { params: PageParams; authToken: string; }) { - const [walletUserStatsTimeSeries, universalBridgeUsage] = + const [aggregatedUserStats, walletUserStatsTimeSeries, universalBridgeUsage] = await Promise.allSettled([ + getInAppWalletUsage( + { + from: props.range.from, + period: "all", + projectId: props.project.id, + teamId: props.project.teamId, + to: props.range.to, + }, + props.authToken, + ), getInAppWalletUsage( { from: props.range.from, @@ -408,6 +418,11 @@ async function AsyncAppHighlightsCard(props: { ) { return (