feat: custom fields improvements

This commit is contained in:
Esdras Renan 2025-11-06 14:05:51 -03:00
parent 9495b54a28
commit 0f0f367b3a
11 changed files with 1290 additions and 12 deletions

View file

@ -56,6 +56,7 @@ type NavigationItem = {
requiredRole?: NavRoleRequirement
exact?: boolean
children?: NavigationItem[]
hidden?: boolean
}
type NavigationGroup = {
@ -104,7 +105,7 @@ const navigation: NavigationGroup[] = [
exact: true,
},
{ title: "Filas", url: "/admin/channels", icon: Waypoints, requiredRole: "admin" },
{ title: "Times & papéis", url: "/admin/teams", icon: UserCog, requiredRole: "admin" },
{ title: "Times & papéis", url: "/admin/teams", icon: UserCog, requiredRole: "admin", hidden: true },
{
title: "Empresas",
url: "/admin/companies",
@ -228,7 +229,7 @@ export function AppSidebar({ ...props }: React.ComponentProps<typeof Sidebar>) {
<SidebarContent>
{navigation.map((group) => {
if (!canAccess(group.requiredRole)) return null
const visibleItems = group.items.filter((item) => canAccess(item.requiredRole))
const visibleItems = group.items.filter((item) => !item.hidden && canAccess(item.requiredRole))
if (visibleItems.length === 0) return null
return (
<SidebarGroup key={group.title}>
@ -237,7 +238,7 @@ export function AppSidebar({ ...props }: React.ComponentProps<typeof Sidebar>) {
<SidebarMenu>
{visibleItems.map((item) => {
if (item.children && item.children.length > 0) {
const childItems = item.children.filter((child) => canAccess(child.requiredRole))
const childItems = item.children.filter((child) => !child.hidden && canAccess(child.requiredRole))
const isExpanded = expanded.has(item.title)
const isChildActive = childItems.some((child) => isActive(child))
const parentActive = isActive(item) || isChildActive