fix: corrigir hooks com dependências exaustivas

- magnet-lines: move useEffect antes do early return (hooks não podem
  ser chamados condicionalmente), adiciona disabled aos deps
- use-month-period: memoiza [...MONTH_NAMES] com useMemo
- lancamentos-filters: handleFilterChange em useCallback
- inbox-page: sortByTimestamp em useCallback, atualiza deps dos useMemo
- note-card: remove formattedDate não utilizado do useMemo

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Felipe Coutinho
2026-02-26 17:23:37 +00:00
parent ac2ea63dbd
commit edd5b8627d
5 changed files with 43 additions and 30 deletions

View File

@@ -52,24 +52,27 @@ export function InboxPage({
const [discardOpen, setDiscardOpen] = useState(false);
const [itemToDiscard, setItemToDiscard] = useState<InboxItem | null>(null);
const sortByTimestamp = (list: InboxItem[]) =>
[...list].sort(
(a, b) =>
new Date(b.notificationTimestamp).getTime() -
new Date(a.notificationTimestamp).getTime(),
);
const sortByTimestamp = useCallback(
(list: InboxItem[]) =>
[...list].sort(
(a, b) =>
new Date(b.notificationTimestamp).getTime() -
new Date(a.notificationTimestamp).getTime(),
),
[],
);
const sortedPending = useMemo(
() => sortByTimestamp(pendingItems),
[pendingItems],
[pendingItems, sortByTimestamp],
);
const sortedProcessed = useMemo(
() => sortByTimestamp(processedItems),
[processedItems],
[processedItems, sortByTimestamp],
);
const sortedDiscarded = useMemo(
() => sortByTimestamp(discardedItems),
[discardedItems],
[discardedItems, sortByTimestamp],
);
const handleProcessOpenChange = useCallback((open: boolean) => {