feat: preserve phone toggle state in filter reset and update active filter logic

This commit is contained in:
2025-10-18 13:04:54 +02:00
parent 27247477c9
commit af28be8112

View File

@@ -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`}
</div>
{(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) && (
<Button
variant="ghost"
size="sm"