feat: filtro por faixa de valor e botão limpar em lançamentos

Novo filtro mín/máx de valor no sheet de filtros, com debounce (400ms) e
persistência via query string (amountMin/amountMax). Constantes AMOUNT_MIN_PARAM
e AMOUNT_MAX_PARAM extraídas para constants.ts; parsePositiveAmount exportado de
page-helpers e reutilizado pelo useDebouncedAmountFilter. A comparação do
debounce usa o valor normalizado para evitar roundtrips RSC desnecessários.
Botão 'Limpar' discreto ao lado do botão 'Filtros', visível apenas quando
há filtros ativos.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Felipe Coutinho
2026-05-10 13:51:30 +00:00
parent 7128cc0ae7
commit c9239c4f3c
6 changed files with 152 additions and 5 deletions

View File

@@ -85,6 +85,8 @@ const EMPTY_FILTERS: TransactionSearchFilters = {
settledFilter: null,
attachmentFilter: null,
dividedFilter: null,
amountMinFilter: null,
amountMaxFilter: null,
};
const createEmptySlugMaps = (): SlugMaps => ({