replace alerting icon with notification bell, add new notification bell lotties icon, update permission check wrapper to display access restricted popup

This commit is contained in:
x
2025-04-21 19:01:12 -04:00
parent e6165f7790
commit ddd46acbde
5 changed files with 24 additions and 13 deletions
File diff suppressed because one or more lines are too long
@@ -139,7 +139,7 @@ export const ProjectLayout = () => {
}} }}
> >
{({ isActive }) => ( {({ isActive }) => (
<MenuItem isSelected={isActive} icon="settings-cog"> <MenuItem isSelected={isActive} icon="notification-bell">
Alerting Alerting
</MenuItem> </MenuItem>
)} )}
@@ -18,7 +18,6 @@ export const AlertingPage = () => {
<PageHeader title="Alerting" /> <PageHeader title="Alerting" />
<ProjectPermissionCan <ProjectPermissionCan
renderGuardBanner renderGuardBanner
passThrough={false}
I={ProjectPermissionActions.Read} I={ProjectPermissionActions.Read}
a={ProjectPermissionSub.PkiAlerts} a={ProjectPermissionSub.PkiAlerts}
> >
@@ -18,7 +18,6 @@ export const CertificateAuthoritiesPage = () => {
<PageHeader title="Certificate Authorities" /> <PageHeader title="Certificate Authorities" />
<ProjectPermissionCan <ProjectPermissionCan
renderGuardBanner renderGuardBanner
passThrough={false}
I={ProjectPermissionActions.Read} I={ProjectPermissionActions.Read}
a={ProjectPermissionSub.CertificateAuthorities} a={ProjectPermissionSub.CertificateAuthorities}
> >
@@ -3,13 +3,24 @@ import { useTranslation } from "react-i18next";
import { ProjectPermissionCan } from "@app/components/permissions"; import { ProjectPermissionCan } from "@app/components/permissions";
import { PageHeader } from "@app/components/v2"; import { PageHeader } from "@app/components/v2";
import { ProjectPermissionActions, ProjectPermissionSub } from "@app/context"; import { ProjectPermissionActions, ProjectPermissionSub, useProjectPermission } from "@app/context";
import { PkiCollectionSection } from "../AlertingPage/components"; import { PkiCollectionSection } from "../AlertingPage/components";
import { CertificatesSection } from "./components"; import { CertificatesSection } from "./components";
export const CertificatesPage = () => { export const CertificatesPage = () => {
const { t } = useTranslation(); const { t } = useTranslation();
const { permission } = useProjectPermission();
const canAccessPkiColl = permission.can(
ProjectPermissionActions.Read,
ProjectPermissionSub.PkiCollections
);
const canAccessCerts = permission.can(
ProjectPermissionActions.Read,
ProjectPermissionSub.Certificates
);
return ( return (
<div className="container mx-auto flex h-full flex-col justify-between bg-bunker-800 text-white"> <div className="container mx-auto flex h-full flex-col justify-between bg-bunker-800 text-white">
<Helmet> <Helmet>
@@ -17,17 +28,18 @@ export const CertificatesPage = () => {
</Helmet> </Helmet>
<div className="mx-auto mb-6 w-full max-w-7xl"> <div className="mx-auto mb-6 w-full max-w-7xl">
<PageHeader title="Certificates" /> <PageHeader title="Certificates" />
{/* If both are false, the section does not render. This is to prevent duplicate banners. */}
{(canAccessCerts || canAccessPkiColl) && (
<ProjectPermissionCan
renderGuardBanner
I={ProjectPermissionActions.Read}
a={ProjectPermissionSub.PkiCollections}
>
<PkiCollectionSection />
</ProjectPermissionCan>
)}
<ProjectPermissionCan <ProjectPermissionCan
renderGuardBanner renderGuardBanner
passThrough={false}
I={ProjectPermissionActions.Read}
a={ProjectPermissionSub.PkiCollections}
>
<PkiCollectionSection />
</ProjectPermissionCan>
<ProjectPermissionCan
renderGuardBanner
passThrough={false}
I={ProjectPermissionActions.Read} I={ProjectPermissionActions.Read}
a={ProjectPermissionSub.Certificates} a={ProjectPermissionSub.Certificates}
> >