Skip to content

Commit 48e36b9

Browse files
committed
update dashboard
1 parent 1e42a6b commit 48e36b9

File tree

1 file changed

+54
-1
lines changed

1 file changed

+54
-1
lines changed

apps/web/src/components/tools/auth0/dashboard.tsx

Lines changed: 54 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,21 @@ interface ConversionData {
2323
conversion_rate: number
2424
}
2525

26+
interface SummaryMetrics {
27+
total_users: number
28+
total_applications: number
29+
total_apis: number
30+
total_connections: number
31+
}
32+
2633
export default function Auth0Dashboard() {
2734
const [token] = useQueryState('token')
35+
const [summaryMetrics, setSummaryMetrics] = useState<SummaryMetrics>({
36+
total_users: 0,
37+
total_applications: 0,
38+
total_apis: 0,
39+
total_connections: 0
40+
})
2841
const [monthlySignUps, setMonthlySignUps] = useState<number>(0)
2942
const [monthlyMau, setMonthlyMau] = useState<number>(0)
3043
const [conversionRate, setConversionRate] = useState<number>(0)
@@ -36,14 +49,34 @@ export default function Auth0Dashboard() {
3649
if (!token) return
3750

3851
try {
39-
const [monthlySignUpsResult, monthlyMauResult, dauResult, authMechResult, conversionResult] = await Promise.all([
52+
const [
53+
usersResult,
54+
applicationsResult,
55+
apisResult,
56+
connectionsResult,
57+
monthlySignUpsResult,
58+
monthlyMauResult,
59+
dauResult,
60+
authMechResult,
61+
conversionResult
62+
] = await Promise.all([
63+
pipe(token, 'auth0_users_total'),
64+
pipe(token, 'auth0_applications'),
65+
pipe(token, 'auth0_apis'),
66+
pipe(token, 'auth0_connections'),
4067
pipe(token, 'auth0_signups'),
4168
pipe(token, 'auth0_mau'),
4269
pipe<{ data: DauDataPoint[] }>(token, 'auth0_dau_ts'),
4370
pipe<{ data: AuthMechData[] }>(token, 'auth0_mech_usage'),
4471
pipe<{ data: ConversionData[] }>(token, 'auth0_conversion_rate')
4572
])
4673

74+
setSummaryMetrics({
75+
total_users: usersResult.data[0]?.total_users || 0,
76+
total_applications: applicationsResult.data.length || 0,
77+
total_apis: apisResult.data.length || 0,
78+
total_connections: connectionsResult.data.length || 0
79+
})
4780
setMonthlySignUps(monthlySignUpsResult.data[0]?.total || 0)
4881
setMonthlyMau(monthlyMauResult.data[0]?.active || 0)
4982
setConversionRate(conversionResult.data[0]?.conversion_rate || 0)
@@ -59,6 +92,26 @@ export default function Auth0Dashboard() {
5992

6093
return (
6194
<div className="space-y-8">
95+
{/* Summary Card */}
96+
<div className="grid grid-cols-4 gap-4 p-6 rounded-lg border bg-card text-card-foreground shadow-sm">
97+
<div>
98+
<p className="text-sm font-medium text-muted-foreground">Total Users</p>
99+
<p className="text-2xl font-bold">{summaryMetrics.total_users.toLocaleString()}</p>
100+
</div>
101+
<div>
102+
<p className="text-sm font-medium text-muted-foreground">Applications</p>
103+
<p className="text-2xl font-bold">{summaryMetrics.total_applications.toLocaleString()}</p>
104+
</div>
105+
<div>
106+
<p className="text-sm font-medium text-muted-foreground">APIs</p>
107+
<p className="text-2xl font-bold">{summaryMetrics.total_apis.toLocaleString()}</p>
108+
</div>
109+
<div>
110+
<p className="text-sm font-medium text-muted-foreground">Connections</p>
111+
<p className="text-2xl font-bold">{summaryMetrics.total_connections.toLocaleString()}</p>
112+
</div>
113+
</div>
114+
62115
{/* Metrics Row */}
63116
<div className="grid gap-4 md:grid-cols-3">
64117
<MetricCard

0 commit comments

Comments
 (0)