Skip to content

Commit 9e553e4

Browse files
committed
charts
1 parent aeb10b7 commit 9e553e4

File tree

8 files changed

+381
-19
lines changed

8 files changed

+381
-19
lines changed

apps/web/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
"@radix-ui/react-checkbox": "^1.1.3",
1616
"@radix-ui/react-collapsible": "^1.1.2",
1717
"@radix-ui/react-dialog": "^1.1.4",
18+
"@radix-ui/react-dropdown-menu": "^2.1.4",
1819
"@radix-ui/react-label": "^2.1.1",
1920
"@radix-ui/react-popover": "^1.1.4",
2021
"@radix-ui/react-scroll-area": "^1.2.2",

apps/web/pnpm-lock.yaml

Lines changed: 100 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

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

Lines changed: 19 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ import { TimeRange, type TimeRange as TR } from '@/components/time-range'
99
import MetricCard from '@/components/metric-card'
1010
import { VercelDeploymentDuration } from './deployment-duration-ts'
1111
import { VercelDeploymentsOverTime } from './deployments-over-time'
12+
import { GitAnalytics } from './git-analytics'
13+
import { VercelProjects } from './project-stats'
1214

1315
export default function VercelDashboard() {
1416
const [token] = useQueryState('token')
@@ -38,13 +40,15 @@ export default function VercelDashboard() {
3840

3941
return (
4042
<div className="space-y-8">
41-
<TimeRange
42-
timeRange={timeRange}
43-
onTimeRangeChange={setTimeRange}
44-
dateRange={dateRange}
45-
onDateRangeChange={(range) => setDateRange(range || { from: addDays(new Date(), -7), to: new Date() })}
46-
className="mb-8"
47-
/>
43+
<div className="flex gap-2">
44+
<TimeRange
45+
timeRange={timeRange}
46+
onTimeRangeChange={setTimeRange}
47+
dateRange={dateRange}
48+
onDateRangeChange={(range) => setDateRange(range || { from: addDays(new Date(), -7), to: new Date() })}
49+
className="mb-8"
50+
/>
51+
</div>
4852

4953
{/* Metrics Row */}
5054
<div className="grid gap-4 md:grid-cols-4">
@@ -104,6 +108,10 @@ export default function VercelDashboard() {
104108
</CardHeader>
105109
<CardContent>
106110
{/* Top Projects table */}
111+
<VercelProjects
112+
date_from={dateRange.from ? format(dateRange.from, 'yyyy-MM-dd HH:mm:ss') : undefined}
113+
date_to={dateRange.to ? format(dateRange.to, 'yyyy-MM-dd HH:mm:ss') : undefined}
114+
/>
107115
</CardContent>
108116
</Card>
109117

@@ -113,6 +121,10 @@ export default function VercelDashboard() {
113121
</CardHeader>
114122
<CardContent>
115123
{/* Git Analytics chart */}
124+
<GitAnalytics
125+
date_from={dateRange.from ? format(dateRange.from, 'yyyy-MM-dd HH:mm:ss') : undefined}
126+
date_to={dateRange.to ? format(dateRange.to, 'yyyy-MM-dd HH:mm:ss') : undefined}
127+
/>
116128
</CardContent>
117129
</Card>
118130
</div>
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
'use client'
2+
3+
import { BarList } from '@tinybirdco/charts'
4+
5+
export function GitAnalytics(params: {
6+
date_from?: string
7+
date_to?: string
8+
}) {
9+
return (
10+
<BarList
11+
endpoint="https://api.tinybird.co/v0/pipes/vercel_git_analytics.json"
12+
token = "p.eyJ1IjogIjdjNjJiZGRjLWQ3MDItNDBiMy04YTc5LTdkYWQ4ODZmN2FhYiIsICJpZCI6ICIwYWYxMDYzMi1iMTdhLTQzMWEtYjlkOS0wZjdlZWU1M2I3ODMiLCAiaG9zdCI6ICJldV9zaGFyZWQifQ.EUq1kGyKew75WAzACmSmPLjfjDI0F5Jj0DXQAQSqhD8"
13+
index="author"
14+
categories={['commits']}
15+
colorPalette={['#27F795', '#008060', '#0EB1B9', '#9263AF', '#5A6FC0', '#86BFDB', '#FFC145', '#FF6B6C', '#DC82C8', '#FFC0F1']}
16+
title="Git Analytics"
17+
height="500px"
18+
params={params}
19+
/>
20+
)
21+
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
'use client'
2+
3+
import { BarList } from '@tinybirdco/charts'
4+
5+
export function VercelProjects(params: {
6+
date_from?: string
7+
date_to?: string
8+
}) {
9+
return (
10+
<BarList
11+
endpoint="https://api.tinybird.co/v0/pipes/vercel_project_stats.json"
12+
token = "p.eyJ1IjogIjdjNjJiZGRjLWQ3MDItNDBiMy04YTc5LTdkYWQ4ODZmN2FhYiIsICJpZCI6ICIwYWYxMDYzMi1iMTdhLTQzMWEtYjlkOS0wZjdlZWU1M2I3ODMiLCAiaG9zdCI6ICJldV9zaGFyZWQifQ.EUq1kGyKew75WAzACmSmPLjfjDI0F5Jj0DXQAQSqhD8"
13+
index="project_name"
14+
categories={['total_deployments']}
15+
colorPalette={['#27F795', '#008060', '#0EB1B9', '#9263AF', '#5A6FC0', '#86BFDB', '#FFC145', '#FF6B6C', '#DC82C8', '#FFC0F1']}
16+
title="Vercel Projects"
17+
height="500px"
18+
params={params}
19+
/>
20+
)
21+
}

0 commit comments

Comments
 (0)