mirror of
https://github.com/prowler-cloud/prowler.git
synced 2025-12-19 05:17:47 +00:00
183 lines
4.1 KiB
TypeScript
183 lines
4.1 KiB
TypeScript
import {
|
|
CloudCog,
|
|
Cog,
|
|
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: "/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.",
|
|
},
|
|
],
|
|
},
|
|
];
|
|
};
|