fix: add active filters count to context and components

- Integrated activeFiltersCount into useTasksContext for HomePageContent and KanbanFilters.
- Removed redundant activeFiltersCount calculation from KanbanFilters, leveraging the context instead for better performance and consistency.
This commit is contained in:
Julien Froidefond
2025-09-17 14:46:27 +02:00
parent 8394f78fc7
commit b0dc1bec11
3 changed files with 17 additions and 13 deletions

View File

@@ -19,7 +19,7 @@ interface HomePageClientProps {
function HomePageContent() {
const { stats, syncing, createTask } = useTasksContext();
const { stats, syncing, createTask, activeFiltersCount } = useTasksContext();
const { preferences, updateViewPreferences } = useUserPreferences();
const [isCreateModalOpen, setIsCreateModalOpen] = useState(false);
@@ -78,7 +78,7 @@ function HomePageContent() {
<svg className="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M12 6V4m0 2a2 2 0 100 4m0-4a2 2 0 110 4m-6 8a2 2 0 100-4m0 4a2 2 0 100 4m0-4v2m0-6V4m6 6v10m6-2a2 2 0 100-4m0 4a2 2 0 100 4m0-4v2m0-6V4" />
</svg>
Filtres
Filtres{activeFiltersCount > 0 && ` (${activeFiltersCount})`}
</button>
<button

View File

@@ -36,7 +36,7 @@ interface KanbanFiltersProps {
}
export function KanbanFilters({ filters, onFiltersChange, hiddenStatuses: propsHiddenStatuses, onToggleStatusVisibility }: KanbanFiltersProps) {
const { tags: availableTags, regularTasks } = useTasksContext();
const { tags: availableTags, regularTasks, activeFiltersCount } = useTasksContext();
const { preferences, toggleColumnVisibility } = useUserPreferences();
// Utiliser les props si disponibles, sinon utiliser le context
@@ -214,15 +214,6 @@ export function KanbanFilters({ filters, onFiltersChange, hiddenStatuses: propsH
// Vérifier s'il y a des tâches Jira dans le système (même masquées)
const hasJiraTasks = regularTasks.some(task => task.source === 'jira');
const activeFiltersCount =
(filters.tags?.filter(Boolean).length || 0) +
(filters.priorities?.filter(Boolean).length || 0) +
(filters.search ? 1 : 0) +
(filters.jiraProjects?.filter(Boolean).length || 0) +
(filters.jiraTypes?.filter(Boolean).length || 0) +
(filters.showJiraOnly ? 1 : 0) +
(filters.hideJiraTasks ? 1 : 0);
// Calculer les compteurs pour les priorités
const priorityCounts = useMemo(() => {
const counts: Record<string, number> = {};