Contexto
A lógica de defaultFilters, handleApplyFilters e handleClearFilters está copiada em HomePage, SearchPage e FilterDialogDesktop. Se alguém alterar num lugar e esquecer no outro, os filtros ficam desincronizados.
O que precisa ser feito
Extrair a lógica de filtros para um custom hook (ex: useFilters) ou adicionar ao store existente (Zustand). O hook/store deve conter o estado, os handlers e o defaultFilters.
Arquivos envolvidos
src/app/(public)/page.tsx
src/app/(public)/search/page.tsx
src/features/search/components/FilterDialogDesktop.tsx
src/features/search/components/types.ts
Referência
Contexto
A lógica de
defaultFilters,handleApplyFiltersehandleClearFiltersestá copiada emHomePage,SearchPageeFilterDialogDesktop. Se alguém alterar num lugar e esquecer no outro, os filtros ficam desincronizados.O que precisa ser feito
Extrair a lógica de filtros para um custom hook (ex:
useFilters) ou adicionar ao store existente (Zustand). O hook/store deve conter o estado, os handlers e odefaultFilters.Arquivos envolvidos
src/app/(public)/page.tsxsrc/app/(public)/search/page.tsxsrc/features/search/components/FilterDialogDesktop.tsxsrc/features/search/components/types.tsReferência