fix menu
This commit is contained in:
@@ -26,6 +26,7 @@ import {
|
||||
} from './ui/dropdown-menu'
|
||||
|
||||
type NavItem = {
|
||||
appId: string
|
||||
title: string
|
||||
url: string
|
||||
icon: LucideIcon
|
||||
@@ -34,23 +35,27 @@ type NavItem = {
|
||||
|
||||
const apps: NavItem[] = [
|
||||
{
|
||||
appId: 'saladeaula',
|
||||
title: 'Sala de aula',
|
||||
url: '//scorm.eduseg.workers.dev',
|
||||
icon: GraduationCapIcon
|
||||
},
|
||||
{
|
||||
appId: 'admin',
|
||||
title: 'Administrador',
|
||||
url: '//admin.saladeaula.digital',
|
||||
icon: LayoutDashboardIcon,
|
||||
scope: ['apps:admin']
|
||||
},
|
||||
{
|
||||
appId: 'studio',
|
||||
title: 'EDUSEG® Estúdio',
|
||||
url: '//studio.saladeaula.digital',
|
||||
icon: CirclePlayIcon,
|
||||
scope: ['apps:studio']
|
||||
},
|
||||
{
|
||||
appId: 'insights',
|
||||
title: 'EDUSEG® Insights',
|
||||
url: '//insights.saladeaula.digital',
|
||||
icon: LightbulbIcon,
|
||||
@@ -59,13 +64,15 @@ const apps: NavItem[] = [
|
||||
]
|
||||
|
||||
export function NavUser({
|
||||
user
|
||||
user,
|
||||
excludeApps
|
||||
}: {
|
||||
user: {
|
||||
name: string
|
||||
email: string
|
||||
scope: string
|
||||
}
|
||||
excludeApps: string[]
|
||||
}) {
|
||||
const userScope = user.scope.split(' ')
|
||||
|
||||
@@ -135,19 +142,21 @@ export function NavUser({
|
||||
</>
|
||||
)}
|
||||
|
||||
{apps.map(({ title, url, scope = [], icon: Icon }, idx) => {
|
||||
if (grantIfHas(scope, userScope)) {
|
||||
return (
|
||||
<DropdownMenuItem key={idx} asChild>
|
||||
<Link to={url} className="cursor-pointer">
|
||||
<Icon /> {title}
|
||||
</Link>
|
||||
</DropdownMenuItem>
|
||||
)
|
||||
}
|
||||
{apps
|
||||
.filter(({ appId }) => !excludeApps.includes(appId))
|
||||
.map(({ appId, title, url, scope = [], icon: Icon }) => {
|
||||
if (grantIfHas(scope, userScope)) {
|
||||
return (
|
||||
<DropdownMenuItem key={appId} asChild>
|
||||
<Link to={url} className="cursor-pointer">
|
||||
<Icon /> {title}
|
||||
</Link>
|
||||
</DropdownMenuItem>
|
||||
)
|
||||
}
|
||||
|
||||
return <></>
|
||||
})}
|
||||
return <></>
|
||||
})}
|
||||
</DropdownMenuGroup>
|
||||
|
||||
<DropdownMenuSeparator />
|
||||
|
||||
Reference in New Issue
Block a user