'use client'; import { Card, CardHeader, CardContent } from '@/components/ui/Card'; import { Badge } from '@/components/ui/Badge'; interface CategoryData { count: number; percentage: number; color: string; icon: string; } interface CategoryBreakdownProps { categoryData: { [categoryName: string]: CategoryData }; totalActivities: number; } export function CategoryBreakdown({ categoryData, totalActivities }: CategoryBreakdownProps) { const categories = Object.entries(categoryData) .filter(([, data]) => data.count > 0) .sort((a, b) => b[1].count - a[1].count); if (categories.length === 0) { return (

📊 Répartition par catégorie

Aucune activité à catégoriser

); } return (

📊 Répartition par catégorie

Analyse automatique de vos {totalActivities} activités

{/* Légende des catégories */}
{categories.map(([categoryName, data]) => (
{data.icon} {categoryName} {data.count}
))}
{/* Barres de progression */}
{categories.map(([categoryName, data]) => (
{data.icon} {categoryName} {data.count} ({data.percentage.toFixed(1)}%)
))}
{/* Insights */}

💡 Insights

{categories.length > 0 && ( <>

🏆 {categories[0][0]} est votre activité principale ({categories[0][1].percentage.toFixed(1)}% de votre temps).

{categories.length > 1 && (

📈 Vous avez une bonne diversité avec {categories.length} catégories d'activités.

)} {/* Suggestions basées sur la répartition */} {categories.some(([, data]) => data.percentage > 70) && (

⚠️ Forte concentration sur une seule catégorie. Pensez à diversifier vos activités pour un meilleur équilibre.

)} {(() => { const learningCategory = categories.find(([name]) => name === 'Learning'); return learningCategory && learningCategory[1].percentage > 0 && (

🎓 Excellent ! Vous consacrez du temps à l'apprentissage ({learningCategory[1].percentage.toFixed(1)}%).

); })()} {(() => { const devCategory = categories.find(([name]) => name === 'Dev'); return devCategory && devCategory[1].percentage > 50 && (

💻 Focus développement intense. N'oubliez pas les pauses et la collaboration !

); })()} )}
); }