"use client"; import { ChevronRight, ChevronDown, Trash2 } from "lucide-react"; import { Badge } from "@/components/ui/badge"; import { Button } from "@/components/ui/button"; interface TreeCategoryHeaderProps { category: string; isExpanded: boolean; onToggle: () => void; icon?: React.ReactNode; itemCount: number; itemLabel: string; // "skill" or "équipe" etc. showSeparator?: boolean; onDelete?: () => void; canDelete?: boolean; isDirection?: boolean; // Pour différencier les directions des catégories de skills directionStats?: { direction: string; totalMembers: number; hasMembers: boolean; }; onDeleteCategory?: (categoryName: string) => void; // Nouvelle prop pour supprimer les catégories de skills canDeleteCategory?: boolean; // Si la catégorie peut être supprimée } export function TreeCategoryHeader({ category, isExpanded, onToggle, icon, itemCount, itemLabel, showSeparator = false, onDelete, canDelete = true, isDirection = false, directionStats, onDeleteCategory, canDeleteCategory = false, }: TreeCategoryHeaderProps) { return (
{/* Séparateur entre catégories (sauf pour la première) */} {showSeparator &&
} {/* Header de catégorie */}
{isExpanded ? ( ) : ( )} {icon}

{category}

{isDirection && directionStats && directionStats.hasMembers && ( {directionStats.totalMembers} membre {directionStats.totalMembers > 1 ? "s" : ""} )} {itemCount} {itemLabel} {itemCount > 1 ? "s" : ""} {isDirection && onDelete && ( )} {/* Bouton de suppression pour les catégories de skills vides */} {!isDirection && onDeleteCategory && itemCount === 0 && ( )}
); }