import React from 'react' import { motion } from 'framer-motion' import { BarChart, Bar, XAxis, YAxis, CartesianGrid, Tooltip, ResponsiveContainer, Cell } from 'recharts' import { BarChart3 } from 'lucide-react' const KnowledgeGraph = ({ data }) => { // Prepare chart data const chartData = data .filter(topic => topic.knowledge_level > 0) .map(topic => ({ name: topic.name.length > 15 ? topic.name.substring(0, 15) + '...' : topic.name, fullName: topic.name, knowledge: Math.round(topic.knowledge_level * 100), confidence: Math.round(topic.confidence * 100), practices: topic.practice_count })) .sort((a, b) => b.knowledge - a.knowledge) const getBarColor = (value) => { if (value >= 80) return '#10b981' // green if (value >= 60) return '#0ea5e9' // blue if (value >= 40) return '#f59e0b' // orange return '#ef4444' // red } const CustomTooltip = ({ active, payload }) => { if (active && payload && payload.length) { return (

{payload[0].payload.fullName}

Knowledge: {payload[0].value}%

Confidence: {payload[0].payload.confidence}%

Practice Sessions: {payload[0].payload.practices}

) } return null } if (chartData.length === 0) { return (

Knowledge Levels

Start learning to see your progress

) } return (

Knowledge Levels by Topic

} /> {chartData.map((entry, index) => ( ))}
{/* Legend */}
80-100% (Mastered)
60-79% (Good)
40-59% (Learning)
0-39% (Beginner)
) } export default KnowledgeGraph