Skip to content

Commit 82d4f5a

Browse files
committed
monthly
1 parent a624a3d commit 82d4f5a

File tree

4 files changed

+46
-14
lines changed

4 files changed

+46
-14
lines changed

apps/web/src/components/tools/auth0/daily-login-fails-chart.tsx

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import {
1313
ChartTooltipContent
1414
} from "@/components/ui/chart"
1515
import { Line, LineChart, XAxis, YAxis } from "recharts"
16+
import { format } from "date-fns"
1617

1718
export interface DailyLoginFailsDataPoint {
1819
day: string
@@ -21,6 +22,7 @@ export interface DailyLoginFailsDataPoint {
2122

2223
export interface DailyLoginFailsChartData {
2324
data: DailyLoginFailsDataPoint[]
25+
timeRange: 'hourly' | 'daily' | 'monthly'
2426
}
2527

2628
const chartConfig = {
@@ -30,11 +32,11 @@ const chartConfig = {
3032
},
3133
} satisfies ChartConfig
3234

33-
export function DailyLoginFailsChart({ data }: DailyLoginFailsChartData) {
35+
export function DailyLoginFailsChart({ data, timeRange }: DailyLoginFailsChartData) {
3436
return (
3537
<Card>
3638
<CardHeader>
37-
<CardTitle>Daily Login Fails</CardTitle>
39+
<CardTitle>Daily Login Failures</CardTitle>
3840
</CardHeader>
3941
<CardContent className="">
4042
<ChartContainer config={chartConfig} className="h-[400px] w-full">
@@ -53,9 +55,14 @@ export function DailyLoginFailsChart({ data }: DailyLoginFailsChartData) {
5355
axisLine={false}
5456
tickMargin={8}
5557
interval="equidistantPreserveStart"
56-
tickFormatter={(value) => value.split('-')[2]}
58+
tickFormatter={(value) => {
59+
const date = new Date(value)
60+
return timeRange === 'monthly'
61+
? format(date, 'MMM yyyy')
62+
: value.split('-')[2]
63+
}}
5764
label={{
58-
value: "Day of Month",
65+
value: timeRange === 'monthly' ? "Month of Year" : "Day of Month",
5966
position: "bottom",
6067
offset: 20
6168
}}

apps/web/src/components/tools/auth0/daily-signups-chart.tsx

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import {
1313
ChartTooltipContent
1414
} from "@/components/ui/chart"
1515
import { Line, LineChart, XAxis, YAxis } from "recharts"
16+
import { format } from "date-fns"
1617

1718
export interface DailySignupsDataPoint {
1819
day: string
@@ -21,6 +22,7 @@ export interface DailySignupsDataPoint {
2122

2223
export interface DailySignupsChartData {
2324
data: DailySignupsDataPoint[]
25+
timeRange: 'hourly' | 'daily' | 'monthly'
2426
}
2527

2628
const chartConfig = {
@@ -30,14 +32,14 @@ const chartConfig = {
3032
},
3133
} satisfies ChartConfig
3234

33-
export function DailySignupsChart({ data }: DailySignupsChartData) {
35+
export function DailySignupsChart({ data, timeRange }: DailySignupsChartData) {
3436
return (
3537
<Card>
3638
<CardHeader>
3739
<CardTitle>Daily Signups</CardTitle>
3840
</CardHeader>
3941
<CardContent className="">
40-
<ChartContainer config={chartConfig} >
42+
<ChartContainer config={chartConfig} className="h-[400px] w-full">
4143
<LineChart
4244
data={data}
4345
margin={{
@@ -53,9 +55,14 @@ export function DailySignupsChart({ data }: DailySignupsChartData) {
5355
axisLine={false}
5456
tickMargin={8}
5557
interval="equidistantPreserveStart"
56-
tickFormatter={(value) => value.split('-')[2]}
58+
tickFormatter={(value) => {
59+
const date = new Date(value)
60+
return timeRange === 'monthly'
61+
? format(date, 'MMM yyyy')
62+
: value.split('-')[2]
63+
}}
5764
label={{
58-
value: "Day of Month",
65+
value: timeRange === 'monthly' ? "Month of Year" : "Day of Month",
5966
position: "bottom",
6067
offset: 20
6168
}}

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

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -312,14 +312,24 @@ export default function Auth0Dashboard() {
312312

313313
{/* Charts Grid */}
314314
<div className="grid gap-4 grid-cols-1">
315-
<DauChart data={dauData} />
315+
<DauChart
316+
data={dauData}
317+
comparisonData={dateRange.compareMode ? dauComparisonData : undefined}
318+
timeRange={timeRange}
319+
/>
316320
</div>
317321
<div className="grid gap-4 md:grid-cols-1 xl:grid-cols-2">
318322
<AuthMechChart data={authMechData} />
319-
<DailySignupsChart data={dailySignupsData} />
323+
<DailySignupsChart
324+
data={dailySignupsData}
325+
timeRange={timeRange}
326+
/>
320327
</div>
321328
<div className="grid gap-4 grid-cols-1">
322-
<DailyLoginFailsChart data={dailyLoginFailsData} />
329+
<DailyLoginFailsChart
330+
data={dailyLoginFailsData}
331+
timeRange={timeRange}
332+
/>
323333
</div>
324334
</div>
325335
)

apps/web/src/components/tools/auth0/dau-chart.tsx

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import {
1313
ChartTooltipContent
1414
} from "@/components/ui/chart"
1515
import { Line, LineChart, XAxis, YAxis } from "recharts"
16+
import { format } from "date-fns"
1617

1718
export interface DauDataPoint {
1819
day: string
@@ -21,6 +22,8 @@ export interface DauDataPoint {
2122

2223
export interface DauChartData {
2324
data: DauDataPoint[]
25+
comparisonData?: DauDataPoint[]
26+
timeRange: 'hourly' | 'daily' | 'monthly'
2427
}
2528

2629
const chartConfig = {
@@ -30,7 +33,7 @@ const chartConfig = {
3033
},
3134
} satisfies ChartConfig
3235

33-
export function DauChart({ data }: DauChartData) {
36+
export function DauChart({ data, comparisonData, timeRange }: DauChartData) {
3437
return (
3538
<Card>
3639
<CardHeader>
@@ -53,9 +56,14 @@ export function DauChart({ data }: DauChartData) {
5356
axisLine={false}
5457
tickMargin={8}
5558
interval="equidistantPreserveStart"
56-
tickFormatter={(value) => value.split('-')[2]}
59+
tickFormatter={(value) => {
60+
const date = new Date(value)
61+
return timeRange === 'monthly'
62+
? format(date, 'MMM yyyy')
63+
: value.split('-')[2]
64+
}}
5765
label={{
58-
value: "Day of Month",
66+
value: timeRange === 'monthly' ? "Month of Year" : "Day of Month",
5967
position: "bottom",
6068
offset: 20
6169
}}

0 commit comments

Comments
 (0)