feat: add project and type counters to Jira and TFS filters
- Implemented `jiraProjectCounts` and `jiraTypeCounts` in `JiraFilters` to display task counts per project and type, enhancing user visibility. - Added similar functionality with `tfsProjectCounts` in `TfsFilters`, allowing users to see task distribution across TFS projects. - Updated UI to show these counts next to project and type labels for better context.
This commit is contained in:
@@ -37,6 +37,28 @@ export function JiraFilters({ filters, onFiltersChange }: JiraFiltersProps) {
|
|||||||
return Array.from(types).sort();
|
return Array.from(types).sort();
|
||||||
}, [filteredTasks]);
|
}, [filteredTasks]);
|
||||||
|
|
||||||
|
// Calculer les compteurs pour les projets Jira
|
||||||
|
const jiraProjectCounts = useMemo(() => {
|
||||||
|
const counts: Record<string, number> = {};
|
||||||
|
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<string, number> = {};
|
||||||
|
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 handleJiraToggle = (mode: 'show' | 'hide' | 'all') => {
|
||||||
const updates: Partial<KanbanFilters> = {};
|
const updates: Partial<KanbanFilters> = {};
|
||||||
|
|
||||||
@@ -142,7 +164,7 @@ export function JiraFilters({ filters, onFiltersChange }: JiraFiltersProps) {
|
|||||||
: 'border-[var(--border)] bg-[var(--card)] text-[var(--muted-foreground)] hover:border-[var(--border)]'
|
: 'border-[var(--border)] bg-[var(--card)] text-[var(--muted-foreground)] hover:border-[var(--border)]'
|
||||||
}`}
|
}`}
|
||||||
>
|
>
|
||||||
📋 {project}
|
📋 {project} ({jiraProjectCounts[project]})
|
||||||
</button>
|
</button>
|
||||||
))}
|
))}
|
||||||
</div>
|
</div>
|
||||||
@@ -172,7 +194,7 @@ export function JiraFilters({ filters, onFiltersChange }: JiraFiltersProps) {
|
|||||||
{type === 'Bug' && '🐛 '}
|
{type === 'Bug' && '🐛 '}
|
||||||
{type === 'Support' && '🛠️ '}
|
{type === 'Support' && '🛠️ '}
|
||||||
{type === 'Enabler' && '🔧 '}
|
{type === 'Enabler' && '🔧 '}
|
||||||
{type}
|
{type} ({jiraTypeCounts[type]})
|
||||||
</button>
|
</button>
|
||||||
))}
|
))}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -27,6 +27,17 @@ export function TfsFilters({ filters, onFiltersChange }: TfsFiltersProps) {
|
|||||||
return Array.from(projects).sort();
|
return Array.from(projects).sort();
|
||||||
}, [filteredTasks]);
|
}, [filteredTasks]);
|
||||||
|
|
||||||
|
// Calculer les compteurs pour les projets TFS
|
||||||
|
const tfsProjectCounts = useMemo(() => {
|
||||||
|
const counts: Record<string, number> = {};
|
||||||
|
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 handleTfsToggle = (mode: 'show' | 'hide' | 'all') => {
|
||||||
const updates: Partial<KanbanFilters> = {};
|
const updates: Partial<KanbanFilters> = {};
|
||||||
|
|
||||||
@@ -118,7 +129,7 @@ export function TfsFilters({ filters, onFiltersChange }: TfsFiltersProps) {
|
|||||||
: 'border-[var(--border)] bg-[var(--card)] text-[var(--muted-foreground)] hover:border-[var(--border)]'
|
: 'border-[var(--border)] bg-[var(--card)] text-[var(--muted-foreground)] hover:border-[var(--border)]'
|
||||||
}`}
|
}`}
|
||||||
>
|
>
|
||||||
📦 {project}
|
📦 {project} ({tfsProjectCounts[project]})
|
||||||
</button>
|
</button>
|
||||||
))}
|
))}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user