Files
Investidor-V2/resources/js/components/profile-navigation.tsx
T
nala 01405cbf8a
tests / ci (push) Canceled after 0s
oportunidades 5
2026-10-10 14:15:28 +02:00

57 lines
1.8 KiB
TypeScript

import { Link, usePage } from '@inertiajs/react';
import type { ProfileAccess } from '@/types/profile-access';
export function profileLinks(access: ProfileAccess | null | undefined) {
if (!access) return [];
return [
...(access.mine
? [{ title: 'Minhas oportunidades', href: access.mine }]
: []),
...(access.create
? [{ title: 'Nova oportunidade', href: access.create }]
: []),
{
title: access.mine
? 'Autorizações de Promotor'
: 'Solicitar perfil de Promotor',
href: access.request,
},
...(!access.mine && access.review
? [{ title: 'Revisão de oportunidades', href: access.review }]
: []),
...(access.audit
? [{ title: 'Auditoria de acessos', href: access.audit }]
: []),
...(access.administration
? [{ title: 'Gestão de perfis', href: access.administration }]
: []),
...(access.administration
? [
{
title: 'Instalação dos perfis 040000',
href: '/management/profile-install',
},
]
: []),
];
}
export default function ProfileNavigation() {
const { profileAccess } = usePage<{
profileAccess?: ProfileAccess | null;
}>().props;
if (!profileAccess) return null;
return (
<nav
aria-label="Perfil e oportunidades"
className="flex flex-wrap gap-4 rounded border p-4"
>
{profileLinks(profileAccess).map((link) => (
<Link key={link.href} href={link.href} className="underline">
{link.title}
</Link>
))}
</nav>
);
}