"use client"; import { Badge } from "@/components/ui/badge"; import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"; import { Separator } from "@/components/ui/separator"; import type { TopQuestion } from "../lib/types"; interface TopQuestionsChartProps { data: TopQuestion[]; title?: string; } export default function TopQuestionsChart({ data, title = "Top 5 Asked Questions", }: TopQuestionsChartProps) { if (!data || data.length === 0) { return ( {title} No questions data available ); } // Find the maximum count to calculate relative bar widths const maxCount = Math.max(...data.map((q) => q.count)); return ( {title} {data.map((question) => { const percentage = maxCount > 0 ? (question.count / maxCount) * 100 : 0; return ( {/* Question text */} {question.question} {question.count} {/* Progress bar */} {/* Rank indicator */} {index + 1} ); })} {/* Summary */} Total questions analyzed {data.reduce((sum, q) => sum + q.count, 0)} ); }
{question.question}