@@ -4,18 +4,10 @@ import { useQueryState } from 'nuqs'
44import { useEffect , useState } from 'react'
55import { pipe } from '@/lib/tinybird'
66import MetricCard from './metric'
7- import { DauChart } from './dau-chart'
8- import { AuthMechChart } from './auth-mech-chart'
9-
10- interface DauDataPoint {
11- day : string
12- active : number
13- }
14-
15- interface AuthMechData {
16- mech : string
17- logins : number
18- }
7+ import { DauChart , DauDataPoint } from './dau-chart'
8+ import { AuthMechChart , AuthMechDataPoint } from './auth-mech-chart'
9+ import { DailySignupsChart , DailySignupsDataPoint } from './daily-signups-chart'
10+ import { DailyLoginFailsChart , DailyLoginFailsDataPoint } from './daily-login-fails-chart'
1911
2012interface ConversionData {
2113 new_signups : number
@@ -53,7 +45,10 @@ export default function Auth0Dashboard() {
5345 const [ monthlyMau , setMonthlyMau ] = useState < number > ( 0 )
5446 const [ conversionRate , setConversionRate ] = useState < number > ( 0 )
5547 const [ dauData , setDauData ] = useState < DauDataPoint [ ] > ( [ ] )
56- const [ authMechData , setAuthMechData ] = useState < AuthMechData [ ] > ( [ ] )
48+ const [ authMechData , setAuthMechData ] = useState < AuthMechDataPoint [ ] > ( [ ] )
49+ const [ dailySignupsData , setDailySignupsData ] = useState < DailySignupsDataPoint [ ] > ( [ ] )
50+ const [ dailyLoginFailsData , setDailyLoginFailsData ] = useState < DailyLoginFailsDataPoint [ ] > ( [ ] )
51+
5752
5853 useEffect ( ( ) => {
5954 async function fetchMetrics ( ) {
@@ -69,7 +64,9 @@ export default function Auth0Dashboard() {
6964 monthlyMauResult ,
7065 dauResult ,
7166 authMechResult ,
72- conversionResult
67+ conversionResult ,
68+ dailySignupsResult ,
69+ dailyLoginFailsResult
7370 ] = await Promise . all ( [
7471 pipe < UsersResult > ( token , 'auth0_users_total' ) ,
7572 pipe ( token , 'auth0_applications' ) ,
@@ -78,8 +75,10 @@ export default function Auth0Dashboard() {
7875 pipe ( token , 'auth0_signups' ) ,
7976 pipe ( token , 'auth0_mau' ) ,
8077 pipe < { data : DauDataPoint [ ] } > ( token , 'auth0_dau_ts' ) ,
81- pipe < { data : AuthMechData [ ] } > ( token , 'auth0_mech_usage' ) ,
82- pipe < { data : ConversionData [ ] } > ( token , 'auth0_conversion_rate' )
78+ pipe < { data : AuthMechDataPoint [ ] } > ( token , 'auth0_mech_usage' ) ,
79+ pipe < { data : ConversionData [ ] } > ( token , 'auth0_conversion_rate' ) ,
80+ pipe < { data : DailySignupsDataPoint [ ] } > ( token , 'auth0_daily_signups' ) ,
81+ pipe < { data : DailyLoginFailsDataPoint [ ] } > ( token , 'auth0_daily_login_fails' )
8382 ] )
8483
8584 setSummaryMetrics ( {
@@ -93,6 +92,8 @@ export default function Auth0Dashboard() {
9392 setConversionRate ( conversionResult . data [ 0 ] ?. conversion_rate || 0 )
9493 setDauData ( dauResult . data )
9594 setAuthMechData ( authMechResult . data )
95+ setDailySignupsData ( dailySignupsResult . data )
96+ setDailyLoginFailsData ( dailyLoginFailsResult . data )
9697 } catch ( error ) {
9798 console . error ( 'Failed to fetch metrics:' , error )
9899 }
@@ -143,9 +144,15 @@ export default function Auth0Dashboard() {
143144 </ div >
144145
145146 { /* Charts Grid */ }
146- < div className = "grid gap-4 md: grid-cols-2 " >
147+ < div className = "grid gap-4 grid-cols-1 " >
147148 < DauChart data = { dauData } />
149+ </ div >
150+ < div className = "grid gap-4 md:grid-cols-1 xl:grid-cols-2" >
148151 < AuthMechChart data = { authMechData } />
152+ < DailySignupsChart data = { dailySignupsData } />
153+ </ div >
154+ < div className = "grid gap-4 grid-cols-1" >
155+ < DailyLoginFailsChart data = { dailyLoginFailsData } />
149156 </ div >
150157 </ div >
151158 )
0 commit comments