import { useState } from "react"; import { Helmet } from "react-helmet"; import { useTranslation } from "react-i18next"; import { PermissionDeniedBanner } from "@app/components/permissions"; import { ContentLoader, PageHeader, Tab, TabList, TabPanel, Tabs } from "@app/components/v2"; import { useProject, useProjectPermission } from "@app/context"; import { ProjectPermissionCertificateActions, ProjectPermissionCertificateProfileActions, ProjectPermissionPkiTemplateActions, ProjectPermissionSub } from "@app/context/ProjectPermissionContext/types"; import { ProjectType } from "@app/hooks/api/projects/types"; import { CertificateProfilesTab } from "./components/CertificateProfilesTab"; import { CertificateRequestsTab } from "./components/CertificateRequestsTab"; import { CertificatesTab } from "./components/CertificatesTab"; import { CertificateTemplatesV2Tab } from "./components/CertificateTemplatesV2Tab"; enum TabSections { CertificateProfiles = "profiles", CertificateTemplatesV2 = "templates-v2", Certificates = "certificates", CertificateRequests = "certificate-requests", PkiCollections = "pki-collections" } export const PoliciesPage = () => { const { t } = useTranslation(); const { currentProject } = useProject(); const { permission } = useProjectPermission(); const [activeTab, setActiveTab] = useState(TabSections.Certificates); const [certificateFilter, setCertificateFilter] = useState<{ search?: string }>({}); const handleViewCertificateFromRequest = (certificateId: string) => { setActiveTab(TabSections.Certificates); setCertificateFilter({ search: certificateId }); }; const canReadCertificateProfiles = permission.can( ProjectPermissionCertificateProfileActions.Read, ProjectPermissionSub.CertificateProfiles ); const canReadCertificateTemplates = permission.can( ProjectPermissionPkiTemplateActions.Read, ProjectPermissionSub.CertificateTemplates ); const canReadCertificates = permission.can( ProjectPermissionCertificateActions.Read, ProjectPermissionSub.Certificates ); if (!currentProject) { return ; } return (
{t("common.head-title", { title: "Certificate Manager" })}
setActiveTab(value as TabSections)} > Certificates Certificate Requests Certificate Profiles Certificate Templates {canReadCertificates ? ( ) : ( )} {canReadCertificates ? ( ) : ( )} {canReadCertificateProfiles ? : } {canReadCertificateTemplates ? ( ) : ( )}
); };