diff --git a/src/components/kanban/filters/JiraFilters.tsx b/src/components/kanban/filters/JiraFilters.tsx index 5a64742..2721a59 100644 --- a/src/components/kanban/filters/JiraFilters.tsx +++ b/src/components/kanban/filters/JiraFilters.tsx @@ -37,6 +37,28 @@ export function JiraFilters({ filters, onFiltersChange }: JiraFiltersProps) { return Array.from(types).sort(); }, [filteredTasks]); + // Calculer les compteurs pour les projets Jira + const jiraProjectCounts = useMemo(() => { + const counts: Record = {}; + availableJiraProjects.forEach(project => { + counts[project] = filteredTasks.filter(task => + task.source === 'jira' && task.jiraProject === project + ).length; + }); + return counts; + }, [filteredTasks, availableJiraProjects]); + + // Calculer les compteurs pour les types Jira + const jiraTypeCounts = useMemo(() => { + const counts: Record = {}; + availableJiraTypes.forEach(type => { + counts[type] = filteredTasks.filter(task => + task.source === 'jira' && task.jiraType === type + ).length; + }); + return counts; + }, [filteredTasks, availableJiraTypes]); + const handleJiraToggle = (mode: 'show' | 'hide' | 'all') => { const updates: Partial = {}; @@ -142,7 +164,7 @@ export function JiraFilters({ filters, onFiltersChange }: JiraFiltersProps) { : 'border-[var(--border)] bg-[var(--card)] text-[var(--muted-foreground)] hover:border-[var(--border)]' }`} > - 📋 {project} + 📋 {project} ({jiraProjectCounts[project]}) ))} @@ -172,7 +194,7 @@ export function JiraFilters({ filters, onFiltersChange }: JiraFiltersProps) { {type === 'Bug' && '🐛 '} {type === 'Support' && '🛠️ '} {type === 'Enabler' && '🔧 '} - {type} + {type} ({jiraTypeCounts[type]}) ))} diff --git a/src/components/kanban/filters/TfsFilters.tsx b/src/components/kanban/filters/TfsFilters.tsx index ce43c5e..358e616 100644 --- a/src/components/kanban/filters/TfsFilters.tsx +++ b/src/components/kanban/filters/TfsFilters.tsx @@ -27,6 +27,17 @@ export function TfsFilters({ filters, onFiltersChange }: TfsFiltersProps) { return Array.from(projects).sort(); }, [filteredTasks]); + // Calculer les compteurs pour les projets TFS + const tfsProjectCounts = useMemo(() => { + const counts: Record = {}; + availableTfsProjects.forEach(project => { + counts[project] = filteredTasks.filter(task => + task.source === 'tfs' && task.tfsProject === project + ).length; + }); + return counts; + }, [filteredTasks, availableTfsProjects]); + const handleTfsToggle = (mode: 'show' | 'hide' | 'all') => { const updates: Partial = {}; @@ -118,7 +129,7 @@ export function TfsFilters({ filters, onFiltersChange }: TfsFiltersProps) { : 'border-[var(--border)] bg-[var(--card)] text-[var(--muted-foreground)] hover:border-[var(--border)]' }`} > - 📦 {project} + 📦 {project} ({tfsProjectCounts[project]}) ))}