feat(nav): menu "Cadastro" agrupando Empresas/Produtos/Revendas/Clientes

Empresas, Produtos (com toda a árvore de submenus), Revendas e Clientes
saem do nível 1 do menu e passam a viver dentro de um novo item
"Cadastro". Isso exercita 3 níveis de submenu aninhado pela primeira
vez (Cadastro > Produtos > Grupos > Subgrupos) — a recursão do AppShell
já suportava isso estruturalmente, mas estava documentada como não
testada; verificado ao vivo via Playwright que funciona corretamente
(auto-expande só o caminho ativo em cada nível).

Suíte: 95/95. pnpm turbo run typecheck build: 28/28.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-09-18 12:20:24 -03:00
parent 4e4de2c259
commit 53c3031775
3 changed files with 42 additions and 19 deletions

View File

@@ -45,31 +45,38 @@ function withActive(items: NavItemDef[], pathname: string): AppShellNavItem[] {
const NAV_ITEM_DEFS: NavItemDef[] = [
{ key: "dashboard", label: "Painel", href: "/" },
{ key: "companies", label: "Empresas", href: "/companies" },
{
key: "products",
label: "Produtos",
href: "/products",
key: "registration",
label: "Cadastro",
href: "/companies",
children: [
{ key: "products-list", label: "Itens", href: "/products" },
{ key: "products-types", label: "Tipos", href: "/products/types" },
{ key: "companies", label: "Empresas", href: "/companies" },
{
key: "products-groups",
label: "Grupos",
href: "/products/groups",
key: "products",
label: "Produtos",
href: "/products",
children: [
{ key: "products-groups-list", label: "Grupos", href: "/products/groups" },
{ key: "products-subgroups", label: "Subgrupos", href: "/products/subgroups" },
{ key: "products-list", label: "Itens", href: "/products" },
{ key: "products-types", label: "Tipos", href: "/products/types" },
{
key: "products-groups",
label: "Grupos",
href: "/products/groups",
children: [
{ key: "products-groups-list", label: "Grupos", href: "/products/groups" },
{ key: "products-subgroups", label: "Subgrupos", href: "/products/subgroups" },
],
},
{ key: "products-brands", label: "Marcas", href: "/products/brands" },
{ key: "products-units", label: "Unidades", href: "/products/units" },
],
},
{ key: "products-brands", label: "Marcas", href: "/products/brands" },
{ key: "products-units", label: "Unidades", href: "/products/units" },
{ key: "resellers", label: "Revendas", href: "/resellers" },
{ key: "client-registrations", label: "Clientes", href: "/client-registrations" },
],
},
{ key: "resellers", label: "Revendas", href: "/resellers" },
{ key: "leads", label: "CRM", href: "/leads" },
{ key: "quotes", label: "Ofertas", href: "/quotes" },
{ key: "client-registrations", label: "Clientes", href: "/client-registrations" },
{ key: "contracts", label: "Contratos", href: "/contracts" },
{ key: "documents", label: "Documentos", href: "/documents/templates" },
{ key: "signatures", label: "Assinaturas", href: "/signatures" },