'use client';
import React from 'react';
import { 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, index) => {
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)}
);
}