diff --git a/frontend-web/src/pages/AdminUserLeaderboardPage.tsx b/frontend-web/src/pages/AdminUserLeaderboardPage.tsx
index 08d47aa9..144f3f4c 100644
--- a/frontend-web/src/pages/AdminUserLeaderboardPage.tsx
+++ b/frontend-web/src/pages/AdminUserLeaderboardPage.tsx
@@ -25,7 +25,7 @@ import {
Users,
type LucideIcon,
} from "lucide-react";
-import { useEffect, useId, useMemo, useRef, useState } from "react";
+import { useEffect, useId, useMemo, useRef, useState, type ReactNode } from "react";
import { useNavigate } from "react-router-dom";
import { Badge } from "@/components/ui/badge";
@@ -521,9 +521,87 @@ function TrendBars({ points, compact = false }: { points: AdminLeaderboardTrendP
const displayedSeries = metric === "all" ? series : [activeSeries];
const totalFor = (key: TrendMetric) => visible.reduce((sum, point) => sum + Number(point[key] ?? 0), 0);
const activeDays = visible.filter((point) => point.runs > 0 || point.questions > 0 || point.tokens > 0).length;
+ const metricCards = ({ includeAll = true, large = false }: { includeAll?: boolean; large?: boolean } = {}) => (
+
+ {includeAll && (
+
+ )}
+ {series.map((item) => (
+
+ ))}
+
+ );
+
+ const analysisDialog = (title: string, description: ReactNode) => (
+
+ );
+
const chart = (large = false) => (
-
-