From af28be8112a2bdb94557c5f4aa9572211db6d3de Mon Sep 17 00:00:00 2001 From: RKWojs Date: Sat, 18 Oct 2025 13:04:54 +0200 Subject: [PATCH] feat: preserve phone toggle state in filter reset and update active filter logic --- src/app/projects/page.js | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/src/app/projects/page.js b/src/app/projects/page.js index b03e8f4..a6be4c7 100644 --- a/src/app/projects/page.js +++ b/src/app/projects/page.js @@ -156,14 +156,13 @@ export default function ProjectListPage() { }; const clearAllFilters = () => { - setFilters({ + setFilters(prev => ({ status: 'all', type: 'all', customer: 'all', mine: false, - phoneOnly: false - }); - localStorage.setItem('projectsPhoneOnlyFilter', 'false'); + phoneOnly: prev.phoneOnly // Preserve phone toggle state + })); setSearchTerm(''); }; @@ -193,7 +192,7 @@ export default function ProjectListPage() { setFiltersExpanded(!filtersExpanded); }; - const hasActiveFilters = filters.status !== 'all' || filters.type !== 'all' || filters.customer !== 'all' || filters.mine || filters.phoneOnly || searchTerm.trim() !== ''; + const hasActiveFilters = filters.status !== 'all' || filters.type !== 'all' || filters.customer !== 'all' || filters.mine || searchTerm.trim() !== ''; const getActiveFilterCount = () => { let count = 0; @@ -201,7 +200,6 @@ export default function ProjectListPage() { if (filters.type !== 'all') count++; if (filters.customer !== 'all') count++; if (filters.mine) count++; - if (filters.phoneOnly) count++; if (searchTerm.trim()) count++; return count; }; @@ -589,7 +587,7 @@ export default function ProjectListPage() { {t('projects.showingResults', { shown: filteredProjects.length, total: projects.length }) || `Wyświetlono ${filteredProjects.length} z ${projects.length} projektów`} - {(filters.status !== 'all' || filters.type !== 'all' || filters.customer !== 'all' || filters.mine || filters.phoneOnly || searchTerm) && ( + {(filters.status !== 'all' || filters.type !== 'all' || filters.customer !== 'all' || filters.mine || searchTerm) && (