Files
prowler/ui/lib/menu-list.ts
Josema Camacho 032499c29a feat(attack-paths): The complete Attack Paths feature (#9805)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: César Arroba <19954079+cesararroba@users.noreply.github.com>
Co-authored-by: Alan Buscaglia <gentlemanprogramming@gmail.com>
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Andoni Alonso <14891798+andoniaf@users.noreply.github.com>
Co-authored-by: Rubén De la Torre Vico <ruben@prowler.com>
Co-authored-by: HugoPBrito <hugopbrit@gmail.com>
Co-authored-by: Hugo Pereira Brito <101209179+HugoPBrito@users.noreply.github.com>
Co-authored-by: Pepe Fagoaga <pepe@prowler.com>
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
Co-authored-by: Chandrapal Badshah <Chan9390@users.noreply.github.com>
Co-authored-by: Chandrapal Badshah <12944530+Chan9390@users.noreply.github.com>
Co-authored-by: Adrián Peña <adrianjpr@gmail.com>
Co-authored-by: Pedro Martín <pedromarting3@gmail.com>
Co-authored-by: KonstGolfi <73020281+KonstGolfi@users.noreply.github.com>
Co-authored-by: lydiavilchez <114735608+lydiavilchez@users.noreply.github.com>
Co-authored-by: Prowler Bot <bot@prowler.com>
Co-authored-by: prowler-bot <179230569+prowler-bot@users.noreply.github.com>
Co-authored-by: StylusFrost <43682773+StylusFrost@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: alejandrobailo <alejandrobailo94@gmail.com>
Co-authored-by: Alejandro Bailo <59607668+alejandrobailo@users.noreply.github.com>
Co-authored-by: Víctor Fernández Poyatos <victor@prowler.com>
Co-authored-by: bota4go <108249054+bota4go@users.noreply.github.com>
Co-authored-by: Daniel Barranquero <74871504+danibarranqueroo@users.noreply.github.com>
Co-authored-by: Daniel Barranquero <danielbo2001@gmail.com>
Co-authored-by: mchennai <50082780+mchennai@users.noreply.github.com>
Co-authored-by: Ryan Nolette <sonofagl1tch@users.noreply.github.com>
Co-authored-by: Ulissis Correa <123517149+ulissisc@users.noreply.github.com>
Co-authored-by: Sergio Garcia <hello@mistercloudsec.com>
Co-authored-by: Lee Trout <ltrout@watchpointlabs.com>
Co-authored-by: Sergio Garcia <sergargar1@gmail.com>
Co-authored-by: Alan-TheGentleman <alan@thegentleman.dev>
2026-01-16 13:37:09 +01:00

197 lines
4.4 KiB
TypeScript

import {
CloudCog,
Cog,
GitBranch,
Group,
Mail,
MessageCircleQuestion,
Puzzle,
Settings,
ShieldCheck,
SquareChartGantt,
Tag,
Timer,
User,
UserCog,
Users,
VolumeX,
Warehouse,
} from "lucide-react";
import { ProwlerShort } from "@/components/icons";
import {
APIdocIcon,
DocIcon,
GithubIcon,
LighthouseIcon,
SupportIcon,
} from "@/components/icons/Icons";
import { GroupProps } from "@/types";
interface MenuListOptions {
pathname: string;
}
export const getMenuList = ({ pathname }: MenuListOptions): GroupProps[] => {
return [
{
groupLabel: "",
menus: [
{
href: "/",
label: "Overview",
icon: SquareChartGantt,
active: pathname === "/",
},
],
},
{
groupLabel: "",
menus: [
{
href: "/compliance",
label: "Compliance",
icon: ShieldCheck,
active: pathname === "/compliance",
},
],
},
{
groupLabel: "",
menus: [
{
href: "/lighthouse",
label: "Lighthouse AI",
icon: LighthouseIcon,
active: pathname === "/lighthouse",
},
],
},
{
groupLabel: "",
menus: [
{
href: "/attack-paths",
label: "Attack Paths",
icon: GitBranch,
active: pathname.startsWith("/attack-paths"),
highlight: true,
},
],
},
{
groupLabel: "",
menus: [
{
href: "/findings?filter[muted]=false",
label: "Findings",
icon: Tag,
},
],
},
{
groupLabel: "",
menus: [
{
href: "/resources",
label: "Resources",
icon: Warehouse,
},
],
},
{
groupLabel: "",
menus: [
{
href: "",
label: "Configuration",
icon: Settings,
submenus: [
{ href: "/providers", label: "Cloud Providers", icon: CloudCog },
{
href: "/mutelist",
label: "Mutelist",
icon: VolumeX,
active: pathname === "/mutelist",
},
{ href: "/manage-groups", label: "Provider Groups", icon: Group },
{ href: "/scans", label: "Scan Jobs", icon: Timer },
{ href: "/integrations", label: "Integrations", icon: Puzzle },
{ href: "/roles", label: "Roles", icon: UserCog },
{ href: "/lighthouse/config", label: "Lighthouse AI", icon: Cog },
],
defaultOpen: true,
},
],
},
{
groupLabel: "",
menus: [
{
href: "",
label: "Organization",
icon: Users,
submenus: [
{ href: "/users", label: "Users", icon: User },
{ href: "/invitations", label: "Invitations", icon: Mail },
],
defaultOpen: false,
},
],
},
{
groupLabel: "",
menus: [
{
href: "",
label: "Support & Help",
icon: SupportIcon,
submenus: [
{
href: "https://docs.prowler.com/",
target: "_blank",
label: "Documentation",
icon: DocIcon,
},
{
href:
process.env.NEXT_PUBLIC_IS_CLOUD_ENV === "true"
? "https://api.prowler.com/api/v1/docs"
: `${process.env.NEXT_PUBLIC_API_DOCS_URL}`,
target: "_blank",
label: "API reference",
icon: APIdocIcon,
},
{
href: "https://customer.support.prowler.com/servicedesk/customer/portal/9/create/102",
target: "_blank",
label: "Customer Support",
icon: MessageCircleQuestion,
},
{
href: "https://github.com/prowler-cloud/prowler/issues",
target: "_blank",
label: "Community Support",
icon: GithubIcon,
},
],
defaultOpen: false,
},
],
},
{
groupLabel: "",
menus: [
{
href: "https://hub.prowler.com/",
label: "Prowler Hub",
icon: ProwlerShort,
target: "_blank",
tooltip: "Looking for all available checks? learn more.",
},
],
},
];
};