feat(ui): add Mutelist menu item under Configuration (#8444)

Co-authored-by: Alejandro Bailo <59607668+alejandrobailo@users.noreply.github.com>
Co-authored-by: alejandrobailo <alejandrobailo94@gmail.com>
This commit is contained in:
authored and GitHub committed 2025-08-08 09:09:37 +02:00
1 parent 94e60f7329
commit df4bf18b97
15 files changed
+302 -131

No files matched your search

+7 -1
View File
@@ -3,11 +3,13 @@ import "@/styles/globals.css";
import { Metadata, Viewport } from "next";
import React from "react";
import { getProviders } from "@/actions/providers";
import MainLayout from "@/components/ui/main-layout/main-layout";
import { Toaster } from "@/components/ui/toast";
import { fontSans } from "@/config/fonts";
import { siteConfig } from "@/config/site";
import { cn } from "@/lib/utils";
import { StoreInitializer } from "@/store/ui/store-initializer";
import { Providers } from "../providers";
@@ -29,11 +31,14 @@ export const viewport: Viewport = {
],
};
export default function RootLayout({
export default async function RootLayout({
children,
}: {
children: React.ReactNode;
}) {
const providersData = await getProviders({ page: 1, pageSize: 1 });
const hasProviders = !!(providersData?.data && providersData.data.length > 0);
return (
<html suppressHydrationWarning lang="en">
<head />
@@ -45,6 +50,7 @@ export default function RootLayout({
)}
>
<Providers themeProps={{ attribute: "class", defaultTheme: "dark" }}>
<StoreInitializer values={{ hasProviders }} />
<MainLayout>{children}</MainLayout>
<Toaster />
</Providers>
+2 -4
View File
@@ -33,7 +33,7 @@ export default async function Providers({
<>
<div className="flex items-center gap-4 md:justify-end">
<ManageGroupsButton />
<MutedFindingsConfigButton isDisabled={true} />
<MutedFindingsConfigButton />
<AddProviderButton />
</div>
<Spacer y={8} />
@@ -76,8 +76,6 @@ const ProvidersContent = async ({
pageSize,
});
const hasProviders = providersData?.data && providersData.data.length > 0;
const providerGroupDict =
providersData?.included
?.filter((item: any) => item.type === "provider-groups")
@@ -100,7 +98,7 @@ const ProvidersContent = async ({
<>
<div className="flex items-center gap-4 md:justify-end">
<ManageGroupsButton />
<MutedFindingsConfigButton isDisabled={!hasProviders} />
<MutedFindingsConfigButton />
<AddProviderButton />
</div>
<Spacer y={8} />
+1 -1
View File
@@ -94,7 +94,7 @@ export default async function Scans({
/>
<Spacer y={8} />
<div className="flex items-center justify-end gap-4">
<MutedFindingsConfigButton isDisabled={thereIsNoProvidersConnected} />
<MutedFindingsConfigButton />
</div>
<Spacer y={8} />
<Suspense key={searchParamsKey} fallback={<SkeletonTableScans />}>