fleet/frontend/pages/admin/IntegrationsPage/IntegrationNavItems.tsx
jacobshandling e497d7c11e
UI: Follow-up for 25798 - update tests, reorganize component locations (#30792)
## Follow-up for #25798

- [x] Added/updated automated tests
- [x] Manual QA

---------

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
Co-authored-by: Gabriel Hernandez <ghernandez345@gmail.com>
2025-07-15 12:33:19 -07:00

80 lines
2.3 KiB
TypeScript

import PATHS from "router/paths";
import { ISideNavItem } from "../components/SideNav/SideNav";
import Integrations from "./cards/Integrations";
import MdmSettings from "./cards/MdmSettings";
import Calendars from "./cards/Calendars";
import ChangeManagement from "./cards/ChangeManagement";
import CertificateAuthorities from "./cards/CertificateAuthorities";
import ConditionalAccess from "./cards/ConditionalAccess";
import IdentityProviders from "./cards/IdentityProviders";
import Sso from "./cards/Sso";
import GlobalHostStatusWebhook from "../IntegrationsPage/cards/GlobalHostStatusWebhook";
const getIntegrationSettingsNavItems = (
isManagedCloud: boolean
): ISideNavItem<any>[] => {
const items: ISideNavItem<any>[] = [
{
title: "Ticket destinations",
urlSection: "ticket-destinations",
path: PATHS.ADMIN_INTEGRATIONS_TICKET_DESTINATIONS,
Card: Integrations,
},
{
title: "Mobile device management (MDM)",
urlSection: "mdm",
path: PATHS.ADMIN_INTEGRATIONS_MDM,
Card: MdmSettings,
},
{
title: "Calendars",
urlSection: "calendars",
path: PATHS.ADMIN_INTEGRATIONS_CALENDARS,
Card: Calendars,
},
{
title: "Change management",
urlSection: "change-management",
path: PATHS.ADMIN_INTEGRATIONS_CHANGE_MANAGEMENT,
Card: ChangeManagement,
},
{
title: "Single sign-on options",
urlSection: "sso",
path: PATHS.ADMIN_INTEGRATIONS_SSO,
Card: Sso,
},
{
title: "Certificates",
urlSection: "certificates",
path: PATHS.ADMIN_INTEGRATIONS_CERTIFICATE_AUTHORITIES,
Card: CertificateAuthorities,
},
{
title: "Identity provider (IdP)",
urlSection: "identity-provider",
path: PATHS.ADMIN_INTEGRATIONS_IDENTITY_PROVIDER,
Card: IdentityProviders,
},
{
title: "Host status webhook",
urlSection: "host-status-webhook",
path: PATHS.ADMIN_INTEGRATIONS_HOST_STATUS_WEBHOOK,
Card: GlobalHostStatusWebhook,
},
];
if (isManagedCloud) {
items.push({
title: "Conditional access",
urlSection: "conditional-access",
path: PATHS.ADMIN_INTEGRATIONS_CONDITIONAL_ACCESS,
Card: ConditionalAccess,
});
}
return items;
};
export default getIntegrationSettingsNavItems;