From 57b1790e12870f96be39143a9b7e034ac023b22e Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Sun, 2 Aug 2026 18:23:47 +0000 Subject: [PATCH] B124: corrige foco ao apagar filtro e remove useId morto Co-authored-by: Francisco Solla --- .../shell/MunicipalityNavSavedFilters.tsx | 15 ++++++--------- tests/e2e/campaignSavedFilters.e2e.spec.ts | 3 +++ 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/components/campaign/shell/MunicipalityNavSavedFilters.tsx b/src/components/campaign/shell/MunicipalityNavSavedFilters.tsx index ac4675a7..129f2746 100644 --- a/src/components/campaign/shell/MunicipalityNavSavedFilters.tsx +++ b/src/components/campaign/shell/MunicipalityNavSavedFilters.tsx @@ -3,7 +3,6 @@ import { Trash2Icon } from 'lucide-react' import Link from 'next/link' import { usePathname, useSearchParams } from 'next/navigation' -import { useId } from 'react' import { toast } from 'sonner' import { useMunicipalitySavedFilters } from '@/components/campaign/shared/useMunicipalitySavedFilters' @@ -34,7 +33,6 @@ export const MunicipalityNavSavedFilters = ({ onNavigate }: { onNavigate: () => const savedFilters = useMunicipalitySavedFilters() const pathname = usePathname() const searchParams = useSearchParams() - const listId = useId() const query = searchParams.toString() const currentHref = query ? `${pathname}?${query}` : pathname @@ -49,10 +47,13 @@ export const MunicipalityNavSavedFilters = ({ onNavigate }: { onNavigate: () => // and strand a keyboard user at the top of the page. Resolve the // survivor BEFORE the removal: emptying the group unmounts this whole // component, so the fallback has to be the nav link. + const menuItem = row?.closest('[data-sidebar="menu-item"]') const successor = savedFilters.length > 1 - ? row?.querySelector('[data-sidebar="menu-sub-button"]') - : row?.closest('li')?.querySelector('a') + ? (row?.nextElementSibling ?? row?.previousElementSibling)?.querySelector( + '[data-sidebar="menu-sub-button"]', + ) ?? menuItem?.querySelector('a') + : menuItem?.querySelector('a') removeMunicipalitySavedFilter(entry.href) successor?.focus() @@ -72,11 +73,7 @@ export const MunicipalityNavSavedFilters = ({ onNavigate }: { onNavigate: () => } return ( - + {savedFilters.map((entry) => { const isActive = entry.href === activeHref diff --git a/tests/e2e/campaignSavedFilters.e2e.spec.ts b/tests/e2e/campaignSavedFilters.e2e.spec.ts index a846f9fc..ae8a64dc 100644 --- a/tests/e2e/campaignSavedFilters.e2e.spec.ts +++ b/tests/e2e/campaignSavedFilters.e2e.spec.ts @@ -111,6 +111,9 @@ test.describe('Filtros salvos de Municípios', () => { await page.reload() await expect(shortcut).toBeVisible(NAVIGATION) + await expect( + page.getByRole('list', { name: 'Filtros salvos de Municípios' }), + ).toBeVisible() await expect( page.getByRole('button', { name: /filtros salvos de Municípios/i }), ).toHaveCount(0)