fleet/frontend/pages/ManageControlsPage/SetupExperience/SetupExperienceNavItems.tsx
jacobshandling 64d23817ad
UI: Make more specific and move down a level gating of Setup Experience UX to facilitate appropriate granular access to Linux and Android features (#32754)
## For #32683 

- Gate Setup experience steps for MDM and ABM being enabled at the
individual sidenav level instead of the entire section
- Allow Linux software installation even when MDM/ABM not enabled
- Improve typing of sidenav 

### Setup experience > Install software > Linux can be accessed without
MDM/ABM, but not macOS:

![ezgif-1c8bb8d13011ea](https://github.com/user-attachments/assets/56ffdbc5-2b49-4263-9483-0ebfc1b2754f)

### Other setup experience tabs gated without MDM/ABM configured (note
specific conditions for End user authentication - Apple MDM OR Android
MDM, with informative Tooltips:

![ezgif-1d194f6b298edd](https://github.com/user-attachments/assets/79450034-b278-46e9-9089-330c126336f3)


- [x] Added/updated automated tests
- [x] QA'd all new/changed functionality manually

---------

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2025-09-10 16:51:02 -07:00

51 lines
1.4 KiB
TypeScript

import PATHS from "router/paths";
import { InjectedRouter } from "react-router";
import { ISideNavItem } from "pages/admin/components/SideNav/SideNav";
import EndUserAuthentication from "./cards/EndUserAuthentication/EndUserAuthentication";
import BootstrapPackage from "./cards/BootstrapPackage";
import SetupAssistant from "./cards/SetupAssistant";
import InstallSoftware from "./cards/InstallSoftware";
import RunScript from "./cards/RunScript";
export interface ISetupExperienceCardProps {
currentTeamId: number;
router: InjectedRouter;
}
const SETUP_EXPERIENCE_NAV_ITEMS: ISideNavItem<ISetupExperienceCardProps>[] = [
{
title: "1. End user authentication",
urlSection: "end-user-auth",
path: PATHS.CONTROLS_END_USER_AUTHENTICATION,
Card: EndUserAuthentication,
},
{
title: "2. Bootstrap package",
urlSection: "bootstrap-package",
path: PATHS.CONTROLS_BOOTSTRAP_PACKAGE,
Card: BootstrapPackage,
},
{
title: "3. Install software",
urlSection: "install-software",
path: PATHS.CONTROLS_INSTALL_SOFTWARE,
Card: InstallSoftware,
},
{
title: "4. Run script",
urlSection: "run-script",
path: PATHS.CONTROLS_RUN_SCRIPT,
Card: RunScript,
},
{
title: "5. Setup assistant",
urlSection: "setup-assistant",
path: PATHS.CONTROLS_SETUP_ASSITANT,
Card: SetupAssistant,
},
];
export default SETUP_EXPERIENCE_NAV_ITEMS;