refactor: desacoplar componentes do top-nav-menu em arquivos separados

- nav-styles.ts: constantes de estilo (linkBase, linkIdle, linkActive, triggerClass)
- simple-nav-link.tsx: link direto com estado ativo
- dropdown-link-list.tsx: lista de itens de dropdown com tipo DropdownLinkItem
- mobile-nav-link.tsx: MobileNavLink e MobileSectionLabel para o Sheet mobile
- top-nav-menu.tsx: apenas TopNavMenu, importa dos arquivos acima

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Felipe Coutinho
2026-02-22 22:38:29 +00:00
parent 87f919b9f5
commit d24157ed5b
6 changed files with 149 additions and 129 deletions

View File

@@ -0,0 +1,20 @@
export const linkBase =
"inline-flex h-9 items-center justify-center rounded-md px-3 py-2 text-sm font-medium transition-colors";
export const linkIdle = "text-foreground hover:text-foreground hover:underline";
export const linkActive = "text-primary";
export const triggerClass = [
"text-foreground!",
"bg-transparent!",
"hover:bg-transparent!",
"hover:text-foreground!",
"hover:underline!",
"focus:bg-transparent!",
"focus:text-foreground!",
"data-[state=open]:bg-transparent!",
"data-[state=open]:text-foreground!",
"data-[state=open]:underline!",
"px-3!",
].join(" ");