Saas-Teamspace/app/(root)/(routes)/customize/_components/radial-chart-grid.tsx
2024-11-24 20:56:03 -05:00

70 lines
1.6 KiB
TypeScript

'use client'
import { TrendingUp } from 'lucide-react'
import { PolarGrid, RadialBar, RadialBarChart } from 'recharts'
import {
Card,
CardContent,
CardDescription,
CardFooter,
CardHeader,
CardTitle
} from '@/components/ui/card'
import {
ChartConfig,
ChartContainer,
ChartTooltip,
ChartTooltipContent
} from '@/components/ui/chart'
const chartData = [
{ browser: 'chrome', visitors: 275, fill: 'var(--color-chrome)' },
{ browser: 'safari', visitors: 200, fill: 'var(--color-safari)' },
{ browser: 'firefox', visitors: 187, fill: 'var(--color-firefox)' },
{ browser: 'edge', visitors: 173, fill: 'var(--color-edge)' },
{ browser: 'other', visitors: 90, fill: 'var(--color-other)' }
]
const chartConfig = {
visitors: {
label: 'Visitors'
},
chrome: {
label: 'Chrome',
color: 'hsl(var(--chart-1))'
},
safari: {
label: 'Safari',
color: 'hsl(var(--chart-2))'
},
firefox: {
label: 'Firefox',
color: 'hsl(var(--chart-3))'
},
edge: {
label: 'Edge',
color: 'hsl(var(--chart-4))'
},
other: {
label: 'Other',
color: 'hsl(var(--chart-5))'
}
} satisfies ChartConfig
export function RadialChartGrid() {
return (
<ChartContainer
config={chartConfig}
className="aspect-square w-full h-[200px]"
>
<RadialBarChart data={chartData} innerRadius={30} outerRadius={100}>
<ChartTooltip
cursor={false}
content={<ChartTooltipContent hideLabel nameKey="browser" />}
/>
<PolarGrid gridType="circle" />
<RadialBar dataKey="visitors" />
</RadialBarChart>
</ChartContainer>
)
}