'use client' import { BarChart } from '@tremor/react' import { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/card' import { BRAND_TEAL } from './chart-theme' interface ProjectRankingData { id: string title: string teamName: string | null status: string averageScore: number | null evaluationCount: number } interface ProjectRankingsProps { data: ProjectRankingData[] limit?: number } export function ProjectRankingsChart({ data, limit = 20, }: ProjectRankingsProps) { const scoredData = (data ?? []).filter( (d): d is ProjectRankingData & { averageScore: number } => d.averageScore !== null, ) if (!scoredData.length) return null const displayData = scoredData.slice(0, limit) const chartData = displayData.map((d) => ({ project: d.title.length > 30 ? d.title.substring(0, 30) + '...' : d.title, Score: parseFloat(d.averageScore.toFixed(2)), })) return ( Project Rankings Top {displayData.length} of {scoredData.length} scored projects ) }