From fa252e4977fd9b017e4cff03a052e355d56a83d9 Mon Sep 17 00:00:00 2001 From: Gabriel Hernandez Date: Mon, 11 Sep 2023 12:52:24 +0100 Subject: [PATCH] Update controls tabs to show mdm disabled UI state per tab (#13794) relates to #9831 Update Controls page to individually show the mdm disabled UI state per tab. Before this was done across the entire control page: ![image](https://github.com/fleetdm/fleet/assets/1153709/67a88cf4-c489-46aa-a802-58c4ef61ac5a) Also, refactors the code to be less specific to mac OS. - [x] Manual QA for all new/changed functionality --- frontend/components/App/App.tsx | 4 +- .../ManageControlsPage/MacOSSettings/index.ts | 1 - .../ManageControlsPage/MacOSSetup/index.ts | 1 - .../ManageControlsPage/MacOSUpdates/index.ts | 1 - .../ManageControlsPage/ManageControlsPage.tsx | 50 +++---------------- .../AggregateMacSettingsIndicators.tsx | 0 .../_styles.scss | 0 .../AggregateMacSettingsIndicators/index.ts | 0 .../OSSettings.tsx} | 32 +++++++----- .../OSSettingsNavItems.tsx} | 8 ++- .../_styles.scss | 2 +- .../cards/CustomSettings/CustomSettings.tsx | 0 .../cards/CustomSettings/_styles.scss | 0 .../DeleteProfileModal/DeleteProfileModal.tsx | 0 .../DeleteProfileModal/_styles.scss | 0 .../components/DeleteProfileModal/index.ts | 0 .../ProfileListHeading/ProfileListHeading.tsx | 0 .../ProfileListHeading/_styles.scss | 0 .../components/ProfileListHeading/index.ts | 0 .../ProfileListItem/ProfileListItem.tsx | 0 .../components/ProfileListItem/_styles.scss | 0 .../components/ProfileListItem/index.ts | 0 .../cards/CustomSettings/helpers.ts | 0 .../cards/CustomSettings/index.ts | 0 .../cards/DiskEncryption/DiskEncryption.tsx | 0 .../cards/DiskEncryption/_styles.scss | 0 .../DiskEncryptionTable.tsx | 0 .../DiskEncryptionTableConfig.tsx | 0 .../DiskEncryptionTable/_styles.scss | 0 .../components/DiskEncryptionTable/index.ts | 0 .../cards/DiskEncryption/index.ts | 0 .../ManageControlsPage/OSSettings/index.ts | 1 + .../OSUpdates.tsx} | 17 +++++-- .../{MacOSUpdates => OSUpdates}/_styles.scss | 2 +- .../components/NudgePreview/NudgePreview.tsx | 0 .../components/NudgePreview/_styles.scss | 0 .../components/NudgePreview/index.ts | 0 .../OsMinVersionForm/OsMinVersionForm.tsx | 0 .../components/OsMinVersionForm/index.ts | 0 .../ManageControlsPage/OSUpdates/index.ts | 1 + .../SetupExperience.tsx} | 36 +++++++------ .../SetupExperienceNavItems.tsx} | 8 +-- .../_styles.scss | 2 +- .../BootstrapPackage/BootstrapPackage.tsx | 0 .../cards/BootstrapPackage/_styles.scss | 0 .../BootstrapPackageListItem.tsx | 0 .../BootstrapPackageListItem/_styles.scss | 0 .../BootstrapPackageListItem/index.ts | 0 .../BootstrapPackagePreview.tsx | 0 .../BootstrapPackagePreview/_styles.scss | 0 .../BootstrapPackagePreview/index.ts | 0 .../BootstrapPackageTable.tsx | 0 .../BootstrapPackageTableConfig.tsx | 0 .../BootstrapPackageTable/_styles.scss | 0 .../components/BootstrapPackageTable/index.ts | 0 .../BootstrapPackageUploader.tsx | 0 .../BootstrapPackageUploader/_styles.scss | 0 .../BootstrapPackageUploader/helpers.ts | 0 .../BootstrapPackageUploader/index.ts | 0 .../DeletePackageModal/DeletePackageModal.tsx | 0 .../DeletePackageModal/_styles.scss | 0 .../components/DeletePackageModal/index.ts | 0 .../UploadedPackageView.tsx | 0 .../UploadedPackageView/_styles.scss | 0 .../components/UploadedPackageView/index.ts | 0 .../cards/BootstrapPackage/index.ts | 0 .../EndUserAuthentication.tsx | 0 .../cards/EndUserAuthentication/_styles.scss | 0 .../EndUserAuthForm/EndUserAuthForm.tsx | 0 .../components/EndUserAuthForm/_styles.scss | 0 .../components/EndUserAuthForm/index.ts | 0 .../RequireEndUserAuth/RequireEndUserAuth.tsx | 0 .../RequireEndUserAuth/_styles.scss | 0 .../components/RequireEndUserAuth/index.ts | 0 .../cards/EndUserAuthentication/index.ts | 0 .../SetupExperience/index.ts | 1 + .../TurnOnMdmMessage/TurnOnMdmMessage.tsx | 40 +++++++++++++++ .../components/TurnOnMdmMessage/index.ts | 1 + frontend/router/index.tsx | 21 ++++---- frontend/router/page_titles.ts | 12 ++--- frontend/router/paths.ts | 17 ++++--- 81 files changed, 145 insertions(+), 113 deletions(-) delete mode 100644 frontend/pages/ManageControlsPage/MacOSSettings/index.ts delete mode 100644 frontend/pages/ManageControlsPage/MacOSSetup/index.ts delete mode 100644 frontend/pages/ManageControlsPage/MacOSUpdates/index.ts rename frontend/pages/ManageControlsPage/{MacOSSettings => OSSettings}/AggregateMacSettingsIndicators/AggregateMacSettingsIndicators.tsx (100%) rename frontend/pages/ManageControlsPage/{MacOSSettings => OSSettings}/AggregateMacSettingsIndicators/_styles.scss (100%) rename frontend/pages/ManageControlsPage/{MacOSSettings => OSSettings}/AggregateMacSettingsIndicators/index.ts (100%) rename frontend/pages/ManageControlsPage/{MacOSSettings/MacOSSettings.tsx => OSSettings/OSSettings.tsx} (72%) rename frontend/pages/ManageControlsPage/{MacOSSettings/MacOSSettingsNavItems.tsx => OSSettings/OSSettingsNavItems.tsx} (80%) rename frontend/pages/ManageControlsPage/{MacOSSettings => OSSettings}/_styles.scss (92%) rename frontend/pages/ManageControlsPage/{MacOSSettings => OSSettings}/cards/CustomSettings/CustomSettings.tsx (100%) rename frontend/pages/ManageControlsPage/{MacOSSettings => OSSettings}/cards/CustomSettings/_styles.scss (100%) rename frontend/pages/ManageControlsPage/{MacOSSettings => OSSettings}/cards/CustomSettings/components/DeleteProfileModal/DeleteProfileModal.tsx (100%) rename frontend/pages/ManageControlsPage/{MacOSSettings => OSSettings}/cards/CustomSettings/components/DeleteProfileModal/_styles.scss (100%) rename frontend/pages/ManageControlsPage/{MacOSSettings => OSSettings}/cards/CustomSettings/components/DeleteProfileModal/index.ts (100%) rename frontend/pages/ManageControlsPage/{MacOSSettings => OSSettings}/cards/CustomSettings/components/ProfileListHeading/ProfileListHeading.tsx (100%) rename frontend/pages/ManageControlsPage/{MacOSSettings => OSSettings}/cards/CustomSettings/components/ProfileListHeading/_styles.scss (100%) rename frontend/pages/ManageControlsPage/{MacOSSettings => OSSettings}/cards/CustomSettings/components/ProfileListHeading/index.ts (100%) rename frontend/pages/ManageControlsPage/{MacOSSettings => OSSettings}/cards/CustomSettings/components/ProfileListItem/ProfileListItem.tsx (100%) rename frontend/pages/ManageControlsPage/{MacOSSettings => OSSettings}/cards/CustomSettings/components/ProfileListItem/_styles.scss (100%) rename frontend/pages/ManageControlsPage/{MacOSSettings => OSSettings}/cards/CustomSettings/components/ProfileListItem/index.ts (100%) rename frontend/pages/ManageControlsPage/{MacOSSettings => OSSettings}/cards/CustomSettings/helpers.ts (100%) rename frontend/pages/ManageControlsPage/{MacOSSettings => OSSettings}/cards/CustomSettings/index.ts (100%) rename frontend/pages/ManageControlsPage/{MacOSSettings => OSSettings}/cards/DiskEncryption/DiskEncryption.tsx (100%) rename frontend/pages/ManageControlsPage/{MacOSSettings => OSSettings}/cards/DiskEncryption/_styles.scss (100%) rename frontend/pages/ManageControlsPage/{MacOSSettings => OSSettings}/cards/DiskEncryption/components/DiskEncryptionTable/DiskEncryptionTable.tsx (100%) rename frontend/pages/ManageControlsPage/{MacOSSettings => OSSettings}/cards/DiskEncryption/components/DiskEncryptionTable/DiskEncryptionTableConfig.tsx (100%) rename frontend/pages/ManageControlsPage/{MacOSSettings => OSSettings}/cards/DiskEncryption/components/DiskEncryptionTable/_styles.scss (100%) rename frontend/pages/ManageControlsPage/{MacOSSettings => OSSettings}/cards/DiskEncryption/components/DiskEncryptionTable/index.ts (100%) rename frontend/pages/ManageControlsPage/{MacOSSettings => OSSettings}/cards/DiskEncryption/index.ts (100%) create mode 100644 frontend/pages/ManageControlsPage/OSSettings/index.ts rename frontend/pages/ManageControlsPage/{MacOSUpdates/MacOSUpdates.tsx => OSUpdates/OSUpdates.tsx} (78%) rename frontend/pages/ManageControlsPage/{MacOSUpdates => OSUpdates}/_styles.scss (96%) rename frontend/pages/ManageControlsPage/{MacOSUpdates => OSUpdates}/components/NudgePreview/NudgePreview.tsx (100%) rename frontend/pages/ManageControlsPage/{MacOSUpdates => OSUpdates}/components/NudgePreview/_styles.scss (100%) rename frontend/pages/ManageControlsPage/{MacOSUpdates => OSUpdates}/components/NudgePreview/index.ts (100%) rename frontend/pages/ManageControlsPage/{MacOSUpdates => OSUpdates}/components/OsMinVersionForm/OsMinVersionForm.tsx (100%) rename frontend/pages/ManageControlsPage/{MacOSUpdates => OSUpdates}/components/OsMinVersionForm/index.ts (100%) create mode 100644 frontend/pages/ManageControlsPage/OSUpdates/index.ts rename frontend/pages/ManageControlsPage/{MacOSSetup/MacOSSetup.tsx => SetupExperience/SetupExperience.tsx} (74%) rename frontend/pages/ManageControlsPage/{MacOSSetup/MacOSSetupNavItems.tsx => SetupExperience/SetupExperienceNavItems.tsx} (78%) rename frontend/pages/ManageControlsPage/{MacOSSetup => SetupExperience}/_styles.scss (94%) rename frontend/pages/ManageControlsPage/{MacOSSetup => SetupExperience}/cards/BootstrapPackage/BootstrapPackage.tsx (100%) rename frontend/pages/ManageControlsPage/{MacOSSetup => SetupExperience}/cards/BootstrapPackage/_styles.scss (100%) rename frontend/pages/ManageControlsPage/{MacOSSetup => SetupExperience}/cards/BootstrapPackage/components/BootstrapPackageListItem/BootstrapPackageListItem.tsx (100%) rename frontend/pages/ManageControlsPage/{MacOSSetup => SetupExperience}/cards/BootstrapPackage/components/BootstrapPackageListItem/_styles.scss (100%) rename frontend/pages/ManageControlsPage/{MacOSSetup => SetupExperience}/cards/BootstrapPackage/components/BootstrapPackageListItem/index.ts (100%) rename frontend/pages/ManageControlsPage/{MacOSSetup => SetupExperience}/cards/BootstrapPackage/components/BootstrapPackagePreview/BootstrapPackagePreview.tsx (100%) rename frontend/pages/ManageControlsPage/{MacOSSetup => SetupExperience}/cards/BootstrapPackage/components/BootstrapPackagePreview/_styles.scss (100%) rename frontend/pages/ManageControlsPage/{MacOSSetup => SetupExperience}/cards/BootstrapPackage/components/BootstrapPackagePreview/index.ts (100%) rename frontend/pages/ManageControlsPage/{MacOSSetup => SetupExperience}/cards/BootstrapPackage/components/BootstrapPackageTable/BootstrapPackageTable.tsx (100%) rename frontend/pages/ManageControlsPage/{MacOSSetup => SetupExperience}/cards/BootstrapPackage/components/BootstrapPackageTable/BootstrapPackageTableConfig.tsx (100%) rename frontend/pages/ManageControlsPage/{MacOSSetup => SetupExperience}/cards/BootstrapPackage/components/BootstrapPackageTable/_styles.scss (100%) rename frontend/pages/ManageControlsPage/{MacOSSetup => SetupExperience}/cards/BootstrapPackage/components/BootstrapPackageTable/index.ts (100%) rename frontend/pages/ManageControlsPage/{MacOSSetup => SetupExperience}/cards/BootstrapPackage/components/BootstrapPackageUploader/BootstrapPackageUploader.tsx (100%) rename frontend/pages/ManageControlsPage/{MacOSSetup => SetupExperience}/cards/BootstrapPackage/components/BootstrapPackageUploader/_styles.scss (100%) rename frontend/pages/ManageControlsPage/{MacOSSetup => SetupExperience}/cards/BootstrapPackage/components/BootstrapPackageUploader/helpers.ts (100%) rename frontend/pages/ManageControlsPage/{MacOSSetup => SetupExperience}/cards/BootstrapPackage/components/BootstrapPackageUploader/index.ts (100%) rename frontend/pages/ManageControlsPage/{MacOSSetup => SetupExperience}/cards/BootstrapPackage/components/DeletePackageModal/DeletePackageModal.tsx (100%) rename frontend/pages/ManageControlsPage/{MacOSSetup => SetupExperience}/cards/BootstrapPackage/components/DeletePackageModal/_styles.scss (100%) rename frontend/pages/ManageControlsPage/{MacOSSetup => SetupExperience}/cards/BootstrapPackage/components/DeletePackageModal/index.ts (100%) rename frontend/pages/ManageControlsPage/{MacOSSetup => SetupExperience}/cards/BootstrapPackage/components/UploadedPackageView/UploadedPackageView.tsx (100%) rename frontend/pages/ManageControlsPage/{MacOSSetup => SetupExperience}/cards/BootstrapPackage/components/UploadedPackageView/_styles.scss (100%) rename frontend/pages/ManageControlsPage/{MacOSSetup => SetupExperience}/cards/BootstrapPackage/components/UploadedPackageView/index.ts (100%) rename frontend/pages/ManageControlsPage/{MacOSSetup => SetupExperience}/cards/BootstrapPackage/index.ts (100%) rename frontend/pages/ManageControlsPage/{MacOSSetup => SetupExperience}/cards/EndUserAuthentication/EndUserAuthentication.tsx (100%) rename frontend/pages/ManageControlsPage/{MacOSSetup => SetupExperience}/cards/EndUserAuthentication/_styles.scss (100%) rename frontend/pages/ManageControlsPage/{MacOSSetup => SetupExperience}/cards/EndUserAuthentication/components/EndUserAuthForm/EndUserAuthForm.tsx (100%) rename frontend/pages/ManageControlsPage/{MacOSSetup => SetupExperience}/cards/EndUserAuthentication/components/EndUserAuthForm/_styles.scss (100%) rename frontend/pages/ManageControlsPage/{MacOSSetup => SetupExperience}/cards/EndUserAuthentication/components/EndUserAuthForm/index.ts (100%) rename frontend/pages/ManageControlsPage/{MacOSSetup => SetupExperience}/cards/EndUserAuthentication/components/RequireEndUserAuth/RequireEndUserAuth.tsx (100%) rename frontend/pages/ManageControlsPage/{MacOSSetup => SetupExperience}/cards/EndUserAuthentication/components/RequireEndUserAuth/_styles.scss (100%) rename frontend/pages/ManageControlsPage/{MacOSSetup => SetupExperience}/cards/EndUserAuthentication/components/RequireEndUserAuth/index.ts (100%) rename frontend/pages/ManageControlsPage/{MacOSSetup => SetupExperience}/cards/EndUserAuthentication/index.ts (100%) create mode 100644 frontend/pages/ManageControlsPage/SetupExperience/index.ts create mode 100644 frontend/pages/ManageControlsPage/components/TurnOnMdmMessage/TurnOnMdmMessage.tsx create mode 100644 frontend/pages/ManageControlsPage/components/TurnOnMdmMessage/index.ts diff --git a/frontend/components/App/App.tsx b/frontend/components/App/App.tsx index 18693b8956..514ed0a790 100644 --- a/frontend/components/App/App.tsx +++ b/frontend/components/App/App.tsx @@ -112,9 +112,9 @@ const App = ({ children, location }: IAppProps): JSX.Element => { // Override Controls page title if MDM not configured if ( !config?.mdm.enabled_and_configured && - curTitle?.path === "/controls/mac-os-updates" + curTitle?.path === "/controls/os-updates" ) { - curTitle.title = "Manage macOS hosts | Fleet for osquery"; + curTitle.title = "Manage OS hosts | Fleet for osquery"; } if (curTitle && curTitle.title) { diff --git a/frontend/pages/ManageControlsPage/MacOSSettings/index.ts b/frontend/pages/ManageControlsPage/MacOSSettings/index.ts deleted file mode 100644 index a0b72c015e..0000000000 --- a/frontend/pages/ManageControlsPage/MacOSSettings/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { default } from "./MacOSSettings"; diff --git a/frontend/pages/ManageControlsPage/MacOSSetup/index.ts b/frontend/pages/ManageControlsPage/MacOSSetup/index.ts deleted file mode 100644 index 70fab83857..0000000000 --- a/frontend/pages/ManageControlsPage/MacOSSetup/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { default } from "./MacOSSetup"; diff --git a/frontend/pages/ManageControlsPage/MacOSUpdates/index.ts b/frontend/pages/ManageControlsPage/MacOSUpdates/index.ts deleted file mode 100644 index e8ee61fe1b..0000000000 --- a/frontend/pages/ManageControlsPage/MacOSUpdates/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { default } from "./MacOSUpdates"; diff --git a/frontend/pages/ManageControlsPage/ManageControlsPage.tsx b/frontend/pages/ManageControlsPage/ManageControlsPage.tsx index 7f5252ffcc..d50d097679 100644 --- a/frontend/pages/ManageControlsPage/ManageControlsPage.tsx +++ b/frontend/pages/ManageControlsPage/ManageControlsPage.tsx @@ -9,8 +9,6 @@ import useTeamIdParam from "hooks/useTeamIdParam"; import TabsWrapper from "components/TabsWrapper"; import MainContent from "components/MainContent"; import TeamsDropdown from "components/TeamsDropdown"; -import EmptyTable from "components/EmptyTable"; -import Button from "components/buttons/Button"; interface IControlsSubNavItem { name: string; @@ -19,16 +17,16 @@ interface IControlsSubNavItem { const controlsSubNav: IControlsSubNavItem[] = [ { - name: "macOS updates", - pathname: PATHS.CONTROLS_MAC_OS_UPDATES, + name: "OS updates", + pathname: PATHS.CONTROLS_OS_UPDATES, }, { - name: "macOS settings", - pathname: PATHS.CONTROLS_MAC_SETTINGS, + name: "OS settings", + pathname: PATHS.CONTROLS_OS_SETTINGS, }, { - name: "macOS setup", - pathname: PATHS.CONTROLS_MAC_SETUP, + name: "Setup experience", + pathname: PATHS.CONTROLS_SETUP_EXPERIENCE, }, ]; @@ -63,11 +61,9 @@ const ManageControlsPage = ({ router, }: IManageControlsPageProps): JSX.Element => { const { - config, isFreeTier, isOnGlobalTeam, isPremiumTier, - isGlobalAdmin, isSandboxMode, } = useContext(AppContext); @@ -99,34 +95,8 @@ const ManageControlsPage = ({ [location, router] ); - const onConnectClick = () => { - router.push(PATHS.ADMIN_INTEGRATIONS_MDM); - }; - - const renderConnectButton = () => { - if (isGlobalAdmin) { - return ( - - ); - } - return <>; - }; - - const getInfoText = () => { - if (isGlobalAdmin) { - return "Connect Fleet to the Apple Push Certificates Portal to get started."; - } - return "Your Fleet administrator must connect Fleet to the Apple Push Certificates Portal to get started."; - }; - const renderBody = () => { - return config?.mdm.enabled_and_configured ? ( + return (
{React.cloneElement(children, { teamIdForApi })}
- ) : ( - ); }; diff --git a/frontend/pages/ManageControlsPage/MacOSSettings/AggregateMacSettingsIndicators/AggregateMacSettingsIndicators.tsx b/frontend/pages/ManageControlsPage/OSSettings/AggregateMacSettingsIndicators/AggregateMacSettingsIndicators.tsx similarity index 100% rename from frontend/pages/ManageControlsPage/MacOSSettings/AggregateMacSettingsIndicators/AggregateMacSettingsIndicators.tsx rename to frontend/pages/ManageControlsPage/OSSettings/AggregateMacSettingsIndicators/AggregateMacSettingsIndicators.tsx diff --git a/frontend/pages/ManageControlsPage/MacOSSettings/AggregateMacSettingsIndicators/_styles.scss b/frontend/pages/ManageControlsPage/OSSettings/AggregateMacSettingsIndicators/_styles.scss similarity index 100% rename from frontend/pages/ManageControlsPage/MacOSSettings/AggregateMacSettingsIndicators/_styles.scss rename to frontend/pages/ManageControlsPage/OSSettings/AggregateMacSettingsIndicators/_styles.scss diff --git a/frontend/pages/ManageControlsPage/MacOSSettings/AggregateMacSettingsIndicators/index.ts b/frontend/pages/ManageControlsPage/OSSettings/AggregateMacSettingsIndicators/index.ts similarity index 100% rename from frontend/pages/ManageControlsPage/MacOSSettings/AggregateMacSettingsIndicators/index.ts rename to frontend/pages/ManageControlsPage/OSSettings/AggregateMacSettingsIndicators/index.ts diff --git a/frontend/pages/ManageControlsPage/MacOSSettings/MacOSSettings.tsx b/frontend/pages/ManageControlsPage/OSSettings/OSSettings.tsx similarity index 72% rename from frontend/pages/ManageControlsPage/MacOSSettings/MacOSSettings.tsx rename to frontend/pages/ManageControlsPage/OSSettings/OSSettings.tsx index 19a6fca3cc..dddbffc048 100644 --- a/frontend/pages/ManageControlsPage/MacOSSettings/MacOSSettings.tsx +++ b/frontend/pages/ManageControlsPage/OSSettings/OSSettings.tsx @@ -1,31 +1,34 @@ import React, { useContext } from "react"; -import { Params } from "react-router/lib/Router"; +import { InjectedRouter, Params } from "react-router/lib/Router"; +import { useQuery } from "react-query"; import { AppContext } from "context/app"; import SideNav from "pages/admin/components/SideNav"; -import { useQuery } from "react-query"; import { ProfileSummaryResponse } from "interfaces/mdm"; import { API_NO_TEAM_ID, APP_CONTEXT_NO_TEAM_ID } from "interfaces/team"; import mdmAPI from "services/entities/mdm"; -import MAC_OS_SETTINGS_NAV_ITEMS from "./MacOSSettingsNavItems"; +import OS_SETTINGS_NAV_ITEMS from "./OSSettingsNavItems"; import AggregateMacSettingsIndicators from "./AggregateMacSettingsIndicators"; +import TurnOnMdmMessage from "../components/TurnOnMdmMessage"; -const baseClass = "mac-os-settings"; +const baseClass = "os-settings"; -interface IMacOSSettingsProps { +interface IOSSettingsProps { params: Params; + router: InjectedRouter; location: { search: string; }; } -const MacOSSettings = ({ +const OSSettings = ({ + router, location: { search: queryString }, params, -}: IMacOSSettingsProps) => { +}: IOSSettingsProps) => { const { section } = params; - const { currentTeam } = useContext(AppContext); + const { config, currentTeam } = useContext(AppContext); // TODO: consider using useTeamIdParam hook here instead in the future const teamId = @@ -46,10 +49,15 @@ const MacOSSettings = ({ } ); - const DEFAULT_SETTINGS_SECTION = MAC_OS_SETTINGS_NAV_ITEMS[0]; + // MDM is not on so show messaging for user to enable it. + if (!config?.mdm.enabled_and_configured) { + return ; + } + + const DEFAULT_SETTINGS_SECTION = OS_SETTINGS_NAV_ITEMS[0]; const currentFormSection = - MAC_OS_SETTINGS_NAV_ITEMS.find((item) => item.urlSection === section) ?? + OS_SETTINGS_NAV_ITEMS.find((item) => item.urlSection === section) ?? DEFAULT_SETTINGS_SECTION; const CurrentCard = currentFormSection.Card; @@ -66,7 +74,7 @@ const MacOSSettings = ({ /> ({ + navItems={OS_SETTINGS_NAV_ITEMS.map((navItem) => ({ ...navItem, path: navItem.path.concat(queryString), }))} @@ -83,4 +91,4 @@ const MacOSSettings = ({ ); }; -export default MacOSSettings; +export default OSSettings; diff --git a/frontend/pages/ManageControlsPage/MacOSSettings/MacOSSettingsNavItems.tsx b/frontend/pages/ManageControlsPage/OSSettings/OSSettingsNavItems.tsx similarity index 80% rename from frontend/pages/ManageControlsPage/MacOSSettings/MacOSSettingsNavItems.tsx rename to frontend/pages/ManageControlsPage/OSSettings/OSSettingsNavItems.tsx index 02e2dd7662..b4df62b48c 100644 --- a/frontend/pages/ManageControlsPage/MacOSSettings/MacOSSettingsNavItems.tsx +++ b/frontend/pages/ManageControlsPage/OSSettings/OSSettingsNavItems.tsx @@ -5,7 +5,7 @@ import { IMdmProfile } from "interfaces/mdm"; import DiskEncryption from "./cards/DiskEncryption"; import CustomSettings from "./cards/CustomSettings"; -interface IMacOSSettingsCardProps { +interface IOSSettingsCardProps { currentTeamId?: number; profiles?: IMdmProfile[]; onProfileUpload?: () => void; @@ -13,9 +13,7 @@ interface IMacOSSettingsCardProps { } // TODO: types -const MAC_OS_SETTINGS_NAV_ITEMS: ISideNavItem< - IMacOSSettingsCardProps | any ->[] = [ +const OS_SETTINGS_NAV_ITEMS: ISideNavItem[] = [ { title: "Disk encryption", urlSection: "disk-encryption", @@ -30,4 +28,4 @@ const MAC_OS_SETTINGS_NAV_ITEMS: ISideNavItem< }, ]; -export default MAC_OS_SETTINGS_NAV_ITEMS; +export default OS_SETTINGS_NAV_ITEMS; diff --git a/frontend/pages/ManageControlsPage/MacOSSettings/_styles.scss b/frontend/pages/ManageControlsPage/OSSettings/_styles.scss similarity index 92% rename from frontend/pages/ManageControlsPage/MacOSSettings/_styles.scss rename to frontend/pages/ManageControlsPage/OSSettings/_styles.scss index 59cc0eeffa..e5d44f07bd 100644 --- a/frontend/pages/ManageControlsPage/MacOSSettings/_styles.scss +++ b/frontend/pages/ManageControlsPage/OSSettings/_styles.scss @@ -1,4 +1,4 @@ -.mac-os-settings { +.os-settings { font-size: $x-small; margin-top: $pad-xxlarge; display: flex; diff --git a/frontend/pages/ManageControlsPage/MacOSSettings/cards/CustomSettings/CustomSettings.tsx b/frontend/pages/ManageControlsPage/OSSettings/cards/CustomSettings/CustomSettings.tsx similarity index 100% rename from frontend/pages/ManageControlsPage/MacOSSettings/cards/CustomSettings/CustomSettings.tsx rename to frontend/pages/ManageControlsPage/OSSettings/cards/CustomSettings/CustomSettings.tsx diff --git a/frontend/pages/ManageControlsPage/MacOSSettings/cards/CustomSettings/_styles.scss b/frontend/pages/ManageControlsPage/OSSettings/cards/CustomSettings/_styles.scss similarity index 100% rename from frontend/pages/ManageControlsPage/MacOSSettings/cards/CustomSettings/_styles.scss rename to frontend/pages/ManageControlsPage/OSSettings/cards/CustomSettings/_styles.scss diff --git a/frontend/pages/ManageControlsPage/MacOSSettings/cards/CustomSettings/components/DeleteProfileModal/DeleteProfileModal.tsx b/frontend/pages/ManageControlsPage/OSSettings/cards/CustomSettings/components/DeleteProfileModal/DeleteProfileModal.tsx similarity index 100% rename from frontend/pages/ManageControlsPage/MacOSSettings/cards/CustomSettings/components/DeleteProfileModal/DeleteProfileModal.tsx rename to frontend/pages/ManageControlsPage/OSSettings/cards/CustomSettings/components/DeleteProfileModal/DeleteProfileModal.tsx diff --git a/frontend/pages/ManageControlsPage/MacOSSettings/cards/CustomSettings/components/DeleteProfileModal/_styles.scss b/frontend/pages/ManageControlsPage/OSSettings/cards/CustomSettings/components/DeleteProfileModal/_styles.scss similarity index 100% rename from frontend/pages/ManageControlsPage/MacOSSettings/cards/CustomSettings/components/DeleteProfileModal/_styles.scss rename to frontend/pages/ManageControlsPage/OSSettings/cards/CustomSettings/components/DeleteProfileModal/_styles.scss diff --git a/frontend/pages/ManageControlsPage/MacOSSettings/cards/CustomSettings/components/DeleteProfileModal/index.ts b/frontend/pages/ManageControlsPage/OSSettings/cards/CustomSettings/components/DeleteProfileModal/index.ts similarity index 100% rename from frontend/pages/ManageControlsPage/MacOSSettings/cards/CustomSettings/components/DeleteProfileModal/index.ts rename to frontend/pages/ManageControlsPage/OSSettings/cards/CustomSettings/components/DeleteProfileModal/index.ts diff --git a/frontend/pages/ManageControlsPage/MacOSSettings/cards/CustomSettings/components/ProfileListHeading/ProfileListHeading.tsx b/frontend/pages/ManageControlsPage/OSSettings/cards/CustomSettings/components/ProfileListHeading/ProfileListHeading.tsx similarity index 100% rename from frontend/pages/ManageControlsPage/MacOSSettings/cards/CustomSettings/components/ProfileListHeading/ProfileListHeading.tsx rename to frontend/pages/ManageControlsPage/OSSettings/cards/CustomSettings/components/ProfileListHeading/ProfileListHeading.tsx diff --git a/frontend/pages/ManageControlsPage/MacOSSettings/cards/CustomSettings/components/ProfileListHeading/_styles.scss b/frontend/pages/ManageControlsPage/OSSettings/cards/CustomSettings/components/ProfileListHeading/_styles.scss similarity index 100% rename from frontend/pages/ManageControlsPage/MacOSSettings/cards/CustomSettings/components/ProfileListHeading/_styles.scss rename to frontend/pages/ManageControlsPage/OSSettings/cards/CustomSettings/components/ProfileListHeading/_styles.scss diff --git a/frontend/pages/ManageControlsPage/MacOSSettings/cards/CustomSettings/components/ProfileListHeading/index.ts b/frontend/pages/ManageControlsPage/OSSettings/cards/CustomSettings/components/ProfileListHeading/index.ts similarity index 100% rename from frontend/pages/ManageControlsPage/MacOSSettings/cards/CustomSettings/components/ProfileListHeading/index.ts rename to frontend/pages/ManageControlsPage/OSSettings/cards/CustomSettings/components/ProfileListHeading/index.ts diff --git a/frontend/pages/ManageControlsPage/MacOSSettings/cards/CustomSettings/components/ProfileListItem/ProfileListItem.tsx b/frontend/pages/ManageControlsPage/OSSettings/cards/CustomSettings/components/ProfileListItem/ProfileListItem.tsx similarity index 100% rename from frontend/pages/ManageControlsPage/MacOSSettings/cards/CustomSettings/components/ProfileListItem/ProfileListItem.tsx rename to frontend/pages/ManageControlsPage/OSSettings/cards/CustomSettings/components/ProfileListItem/ProfileListItem.tsx diff --git a/frontend/pages/ManageControlsPage/MacOSSettings/cards/CustomSettings/components/ProfileListItem/_styles.scss b/frontend/pages/ManageControlsPage/OSSettings/cards/CustomSettings/components/ProfileListItem/_styles.scss similarity index 100% rename from frontend/pages/ManageControlsPage/MacOSSettings/cards/CustomSettings/components/ProfileListItem/_styles.scss rename to frontend/pages/ManageControlsPage/OSSettings/cards/CustomSettings/components/ProfileListItem/_styles.scss diff --git a/frontend/pages/ManageControlsPage/MacOSSettings/cards/CustomSettings/components/ProfileListItem/index.ts b/frontend/pages/ManageControlsPage/OSSettings/cards/CustomSettings/components/ProfileListItem/index.ts similarity index 100% rename from frontend/pages/ManageControlsPage/MacOSSettings/cards/CustomSettings/components/ProfileListItem/index.ts rename to frontend/pages/ManageControlsPage/OSSettings/cards/CustomSettings/components/ProfileListItem/index.ts diff --git a/frontend/pages/ManageControlsPage/MacOSSettings/cards/CustomSettings/helpers.ts b/frontend/pages/ManageControlsPage/OSSettings/cards/CustomSettings/helpers.ts similarity index 100% rename from frontend/pages/ManageControlsPage/MacOSSettings/cards/CustomSettings/helpers.ts rename to frontend/pages/ManageControlsPage/OSSettings/cards/CustomSettings/helpers.ts diff --git a/frontend/pages/ManageControlsPage/MacOSSettings/cards/CustomSettings/index.ts b/frontend/pages/ManageControlsPage/OSSettings/cards/CustomSettings/index.ts similarity index 100% rename from frontend/pages/ManageControlsPage/MacOSSettings/cards/CustomSettings/index.ts rename to frontend/pages/ManageControlsPage/OSSettings/cards/CustomSettings/index.ts diff --git a/frontend/pages/ManageControlsPage/MacOSSettings/cards/DiskEncryption/DiskEncryption.tsx b/frontend/pages/ManageControlsPage/OSSettings/cards/DiskEncryption/DiskEncryption.tsx similarity index 100% rename from frontend/pages/ManageControlsPage/MacOSSettings/cards/DiskEncryption/DiskEncryption.tsx rename to frontend/pages/ManageControlsPage/OSSettings/cards/DiskEncryption/DiskEncryption.tsx diff --git a/frontend/pages/ManageControlsPage/MacOSSettings/cards/DiskEncryption/_styles.scss b/frontend/pages/ManageControlsPage/OSSettings/cards/DiskEncryption/_styles.scss similarity index 100% rename from frontend/pages/ManageControlsPage/MacOSSettings/cards/DiskEncryption/_styles.scss rename to frontend/pages/ManageControlsPage/OSSettings/cards/DiskEncryption/_styles.scss diff --git a/frontend/pages/ManageControlsPage/MacOSSettings/cards/DiskEncryption/components/DiskEncryptionTable/DiskEncryptionTable.tsx b/frontend/pages/ManageControlsPage/OSSettings/cards/DiskEncryption/components/DiskEncryptionTable/DiskEncryptionTable.tsx similarity index 100% rename from frontend/pages/ManageControlsPage/MacOSSettings/cards/DiskEncryption/components/DiskEncryptionTable/DiskEncryptionTable.tsx rename to frontend/pages/ManageControlsPage/OSSettings/cards/DiskEncryption/components/DiskEncryptionTable/DiskEncryptionTable.tsx diff --git a/frontend/pages/ManageControlsPage/MacOSSettings/cards/DiskEncryption/components/DiskEncryptionTable/DiskEncryptionTableConfig.tsx b/frontend/pages/ManageControlsPage/OSSettings/cards/DiskEncryption/components/DiskEncryptionTable/DiskEncryptionTableConfig.tsx similarity index 100% rename from frontend/pages/ManageControlsPage/MacOSSettings/cards/DiskEncryption/components/DiskEncryptionTable/DiskEncryptionTableConfig.tsx rename to frontend/pages/ManageControlsPage/OSSettings/cards/DiskEncryption/components/DiskEncryptionTable/DiskEncryptionTableConfig.tsx diff --git a/frontend/pages/ManageControlsPage/MacOSSettings/cards/DiskEncryption/components/DiskEncryptionTable/_styles.scss b/frontend/pages/ManageControlsPage/OSSettings/cards/DiskEncryption/components/DiskEncryptionTable/_styles.scss similarity index 100% rename from frontend/pages/ManageControlsPage/MacOSSettings/cards/DiskEncryption/components/DiskEncryptionTable/_styles.scss rename to frontend/pages/ManageControlsPage/OSSettings/cards/DiskEncryption/components/DiskEncryptionTable/_styles.scss diff --git a/frontend/pages/ManageControlsPage/MacOSSettings/cards/DiskEncryption/components/DiskEncryptionTable/index.ts b/frontend/pages/ManageControlsPage/OSSettings/cards/DiskEncryption/components/DiskEncryptionTable/index.ts similarity index 100% rename from frontend/pages/ManageControlsPage/MacOSSettings/cards/DiskEncryption/components/DiskEncryptionTable/index.ts rename to frontend/pages/ManageControlsPage/OSSettings/cards/DiskEncryption/components/DiskEncryptionTable/index.ts diff --git a/frontend/pages/ManageControlsPage/MacOSSettings/cards/DiskEncryption/index.ts b/frontend/pages/ManageControlsPage/OSSettings/cards/DiskEncryption/index.ts similarity index 100% rename from frontend/pages/ManageControlsPage/MacOSSettings/cards/DiskEncryption/index.ts rename to frontend/pages/ManageControlsPage/OSSettings/cards/DiskEncryption/index.ts diff --git a/frontend/pages/ManageControlsPage/OSSettings/index.ts b/frontend/pages/ManageControlsPage/OSSettings/index.ts new file mode 100644 index 0000000000..dbc12a9b50 --- /dev/null +++ b/frontend/pages/ManageControlsPage/OSSettings/index.ts @@ -0,0 +1 @@ +export { default } from "./OSSettings"; diff --git a/frontend/pages/ManageControlsPage/MacOSUpdates/MacOSUpdates.tsx b/frontend/pages/ManageControlsPage/OSUpdates/OSUpdates.tsx similarity index 78% rename from frontend/pages/ManageControlsPage/MacOSUpdates/MacOSUpdates.tsx rename to frontend/pages/ManageControlsPage/OSUpdates/OSUpdates.tsx index 4d45114f60..a803d106f0 100644 --- a/frontend/pages/ManageControlsPage/MacOSUpdates/MacOSUpdates.tsx +++ b/frontend/pages/ManageControlsPage/OSUpdates/OSUpdates.tsx @@ -1,4 +1,5 @@ import React, { useContext } from "react"; +import { InjectedRouter } from "react-router"; import { AppContext } from "context/app"; @@ -9,15 +10,17 @@ import PremiumFeatureMessage from "components/PremiumFeatureMessage"; import OsMinVersionForm from "./components/OsMinVersionForm"; import NudgePreview from "./components/NudgePreview"; +import TurnOnMdmMessage from "../components/TurnOnMdmMessage/TurnOnMdmMessage"; -const baseClass = "mac-os-updates"; +const baseClass = "os-updates"; -interface IMacOSUpdates { +interface IOSUpdates { + router: InjectedRouter; teamIdForApi: number; } -const MacOSUpdates = ({ teamIdForApi }: IMacOSUpdates) => { - const { isPremiumTier } = useContext(AppContext); +const OSUpdates = ({ router, teamIdForApi }: IOSUpdates) => { + const { config, isPremiumTier } = useContext(AppContext); const OperatingSystemCard = useInfoCard({ title: "macOS versions", @@ -35,6 +38,10 @@ const MacOSUpdates = ({ teamIdForApi }: IMacOSUpdates) => { ), }); + if (!config?.mdm.enabled_and_configured) { + return ; + } + return isPremiumTier ? (

@@ -62,4 +69,4 @@ const MacOSUpdates = ({ teamIdForApi }: IMacOSUpdates) => { ); }; -export default MacOSUpdates; +export default OSUpdates; diff --git a/frontend/pages/ManageControlsPage/MacOSUpdates/_styles.scss b/frontend/pages/ManageControlsPage/OSUpdates/_styles.scss similarity index 96% rename from frontend/pages/ManageControlsPage/MacOSUpdates/_styles.scss rename to frontend/pages/ManageControlsPage/OSUpdates/_styles.scss index 71023ac080..6ab1baa877 100644 --- a/frontend/pages/ManageControlsPage/MacOSUpdates/_styles.scss +++ b/frontend/pages/ManageControlsPage/OSUpdates/_styles.scss @@ -1,4 +1,4 @@ -.mac-os-updates { +.os-updates { font-size: $x-small; &__description { diff --git a/frontend/pages/ManageControlsPage/MacOSUpdates/components/NudgePreview/NudgePreview.tsx b/frontend/pages/ManageControlsPage/OSUpdates/components/NudgePreview/NudgePreview.tsx similarity index 100% rename from frontend/pages/ManageControlsPage/MacOSUpdates/components/NudgePreview/NudgePreview.tsx rename to frontend/pages/ManageControlsPage/OSUpdates/components/NudgePreview/NudgePreview.tsx diff --git a/frontend/pages/ManageControlsPage/MacOSUpdates/components/NudgePreview/_styles.scss b/frontend/pages/ManageControlsPage/OSUpdates/components/NudgePreview/_styles.scss similarity index 100% rename from frontend/pages/ManageControlsPage/MacOSUpdates/components/NudgePreview/_styles.scss rename to frontend/pages/ManageControlsPage/OSUpdates/components/NudgePreview/_styles.scss diff --git a/frontend/pages/ManageControlsPage/MacOSUpdates/components/NudgePreview/index.ts b/frontend/pages/ManageControlsPage/OSUpdates/components/NudgePreview/index.ts similarity index 100% rename from frontend/pages/ManageControlsPage/MacOSUpdates/components/NudgePreview/index.ts rename to frontend/pages/ManageControlsPage/OSUpdates/components/NudgePreview/index.ts diff --git a/frontend/pages/ManageControlsPage/MacOSUpdates/components/OsMinVersionForm/OsMinVersionForm.tsx b/frontend/pages/ManageControlsPage/OSUpdates/components/OsMinVersionForm/OsMinVersionForm.tsx similarity index 100% rename from frontend/pages/ManageControlsPage/MacOSUpdates/components/OsMinVersionForm/OsMinVersionForm.tsx rename to frontend/pages/ManageControlsPage/OSUpdates/components/OsMinVersionForm/OsMinVersionForm.tsx diff --git a/frontend/pages/ManageControlsPage/MacOSUpdates/components/OsMinVersionForm/index.ts b/frontend/pages/ManageControlsPage/OSUpdates/components/OsMinVersionForm/index.ts similarity index 100% rename from frontend/pages/ManageControlsPage/MacOSUpdates/components/OsMinVersionForm/index.ts rename to frontend/pages/ManageControlsPage/OSUpdates/components/OsMinVersionForm/index.ts diff --git a/frontend/pages/ManageControlsPage/OSUpdates/index.ts b/frontend/pages/ManageControlsPage/OSUpdates/index.ts new file mode 100644 index 0000000000..58d0263232 --- /dev/null +++ b/frontend/pages/ManageControlsPage/OSUpdates/index.ts @@ -0,0 +1 @@ +export { default } from "./OSUpdates"; diff --git a/frontend/pages/ManageControlsPage/MacOSSetup/MacOSSetup.tsx b/frontend/pages/ManageControlsPage/SetupExperience/SetupExperience.tsx similarity index 74% rename from frontend/pages/ManageControlsPage/MacOSSetup/MacOSSetup.tsx rename to frontend/pages/ManageControlsPage/SetupExperience/SetupExperience.tsx index c5dd0f1c7d..d537bb924f 100644 --- a/frontend/pages/ManageControlsPage/MacOSSetup/MacOSSetup.tsx +++ b/frontend/pages/ManageControlsPage/SetupExperience/SetupExperience.tsx @@ -9,9 +9,10 @@ import Button from "components/buttons/Button/Button"; import PremiumFeatureMessage from "components/PremiumFeatureMessage"; import EmptyTable from "components/EmptyTable"; -import MAC_OS_SETUP_NAV_ITEMS from "./MacOSSetupNavItems"; +import SETUP_EXPERIENCE_NAV_ITEMS from "./SetupExperienceNavItems"; +import TurnOnMdmMessage from "../components/TurnOnMdmMessage"; -const baseClass = "macos-setup"; +const baseClass = "setup-experience"; interface ISetupEmptyState { router: InjectedRouter; @@ -35,34 +36,39 @@ const SetupEmptyState = ({ router }: ISetupEmptyState) => { ); }; -interface IMacOSSetupProps { +interface ISetupExperienceProps { params: Params; location: { search: string }; router: any; teamIdForApi: number; } -const MacOSSetup = ({ +const SetupExperience = ({ params, location: { search: queryString }, router, teamIdForApi, -}: IMacOSSetupProps) => { +}: ISetupExperienceProps) => { const { section } = params; const { isPremiumTier, config } = useContext(AppContext); - const DEFAULT_SETTINGS_SECTION = MAC_OS_SETUP_NAV_ITEMS[0]; - - const currentFormSection = - MAC_OS_SETUP_NAV_ITEMS.find((item) => item.urlSection === section) ?? - DEFAULT_SETTINGS_SECTION; - - const CurrentCard = currentFormSection.Card; - + // MDM is not on so show messaging for user to enable it. + if (!config?.mdm.enabled_and_configured) { + return ; + } + // User has not set up Apple Business Manager. if (isPremiumTier && !config?.mdm.apple_bm_enabled_and_configured) { return ; } + const DEFAULT_SETTINGS_SECTION = SETUP_EXPERIENCE_NAV_ITEMS[0]; + + const currentFormSection = + SETUP_EXPERIENCE_NAV_ITEMS.find((item) => item.urlSection === section) ?? + DEFAULT_SETTINGS_SECTION; + + const CurrentCard = currentFormSection.Card; + return (

@@ -74,7 +80,7 @@ const MacOSSetup = ({ ) : ( ({ + navItems={SETUP_EXPERIENCE_NAV_ITEMS.map((navItem) => ({ ...navItem, path: navItem.path.concat(queryString), }))} @@ -92,4 +98,4 @@ const MacOSSetup = ({ ); }; -export default MacOSSetup; +export default SetupExperience; diff --git a/frontend/pages/ManageControlsPage/MacOSSetup/MacOSSetupNavItems.tsx b/frontend/pages/ManageControlsPage/SetupExperience/SetupExperienceNavItems.tsx similarity index 78% rename from frontend/pages/ManageControlsPage/MacOSSetup/MacOSSetupNavItems.tsx rename to frontend/pages/ManageControlsPage/SetupExperience/SetupExperienceNavItems.tsx index a49b221fea..ca9021ac9d 100644 --- a/frontend/pages/ManageControlsPage/MacOSSetup/MacOSSetupNavItems.tsx +++ b/frontend/pages/ManageControlsPage/SetupExperience/SetupExperienceNavItems.tsx @@ -5,12 +5,14 @@ import { ISideNavItem } from "pages/admin/components/SideNav/SideNav"; import EndUserAuthentication from "./cards/EndUserAuthentication/EndUserAuthentication"; import BootstrapPackage from "./cards/BootstrapPackage"; -interface IMacOSSetupCardProps { +interface ISetupExperienceCardProps { currentTeamId?: number; } // TODO: types -const MAC_OS_SETUP_NAV_ITEMS: ISideNavItem[] = [ +const SETUP_EXPERIENCE_NAV_ITEMS: ISideNavItem< + ISetupExperienceCardProps | any +>[] = [ { title: "End user authentication", urlSection: "end-user-auth", @@ -25,4 +27,4 @@ const MAC_OS_SETUP_NAV_ITEMS: ISideNavItem[] = [ }, ]; -export default MAC_OS_SETUP_NAV_ITEMS; +export default SETUP_EXPERIENCE_NAV_ITEMS; diff --git a/frontend/pages/ManageControlsPage/MacOSSetup/_styles.scss b/frontend/pages/ManageControlsPage/SetupExperience/_styles.scss similarity index 94% rename from frontend/pages/ManageControlsPage/MacOSSetup/_styles.scss rename to frontend/pages/ManageControlsPage/SetupExperience/_styles.scss index 9b285b6c8b..bd155a08e9 100644 --- a/frontend/pages/ManageControlsPage/MacOSSetup/_styles.scss +++ b/frontend/pages/ManageControlsPage/SetupExperience/_styles.scss @@ -1,4 +1,4 @@ -.macos-setup { +.setup-experience { > p { font-size: $x-small; margin: $pad-xxlarge 0; diff --git a/frontend/pages/ManageControlsPage/MacOSSetup/cards/BootstrapPackage/BootstrapPackage.tsx b/frontend/pages/ManageControlsPage/SetupExperience/cards/BootstrapPackage/BootstrapPackage.tsx similarity index 100% rename from frontend/pages/ManageControlsPage/MacOSSetup/cards/BootstrapPackage/BootstrapPackage.tsx rename to frontend/pages/ManageControlsPage/SetupExperience/cards/BootstrapPackage/BootstrapPackage.tsx diff --git a/frontend/pages/ManageControlsPage/MacOSSetup/cards/BootstrapPackage/_styles.scss b/frontend/pages/ManageControlsPage/SetupExperience/cards/BootstrapPackage/_styles.scss similarity index 100% rename from frontend/pages/ManageControlsPage/MacOSSetup/cards/BootstrapPackage/_styles.scss rename to frontend/pages/ManageControlsPage/SetupExperience/cards/BootstrapPackage/_styles.scss diff --git a/frontend/pages/ManageControlsPage/MacOSSetup/cards/BootstrapPackage/components/BootstrapPackageListItem/BootstrapPackageListItem.tsx b/frontend/pages/ManageControlsPage/SetupExperience/cards/BootstrapPackage/components/BootstrapPackageListItem/BootstrapPackageListItem.tsx similarity index 100% rename from frontend/pages/ManageControlsPage/MacOSSetup/cards/BootstrapPackage/components/BootstrapPackageListItem/BootstrapPackageListItem.tsx rename to frontend/pages/ManageControlsPage/SetupExperience/cards/BootstrapPackage/components/BootstrapPackageListItem/BootstrapPackageListItem.tsx diff --git a/frontend/pages/ManageControlsPage/MacOSSetup/cards/BootstrapPackage/components/BootstrapPackageListItem/_styles.scss b/frontend/pages/ManageControlsPage/SetupExperience/cards/BootstrapPackage/components/BootstrapPackageListItem/_styles.scss similarity index 100% rename from frontend/pages/ManageControlsPage/MacOSSetup/cards/BootstrapPackage/components/BootstrapPackageListItem/_styles.scss rename to frontend/pages/ManageControlsPage/SetupExperience/cards/BootstrapPackage/components/BootstrapPackageListItem/_styles.scss diff --git a/frontend/pages/ManageControlsPage/MacOSSetup/cards/BootstrapPackage/components/BootstrapPackageListItem/index.ts b/frontend/pages/ManageControlsPage/SetupExperience/cards/BootstrapPackage/components/BootstrapPackageListItem/index.ts similarity index 100% rename from frontend/pages/ManageControlsPage/MacOSSetup/cards/BootstrapPackage/components/BootstrapPackageListItem/index.ts rename to frontend/pages/ManageControlsPage/SetupExperience/cards/BootstrapPackage/components/BootstrapPackageListItem/index.ts diff --git a/frontend/pages/ManageControlsPage/MacOSSetup/cards/BootstrapPackage/components/BootstrapPackagePreview/BootstrapPackagePreview.tsx b/frontend/pages/ManageControlsPage/SetupExperience/cards/BootstrapPackage/components/BootstrapPackagePreview/BootstrapPackagePreview.tsx similarity index 100% rename from frontend/pages/ManageControlsPage/MacOSSetup/cards/BootstrapPackage/components/BootstrapPackagePreview/BootstrapPackagePreview.tsx rename to frontend/pages/ManageControlsPage/SetupExperience/cards/BootstrapPackage/components/BootstrapPackagePreview/BootstrapPackagePreview.tsx diff --git a/frontend/pages/ManageControlsPage/MacOSSetup/cards/BootstrapPackage/components/BootstrapPackagePreview/_styles.scss b/frontend/pages/ManageControlsPage/SetupExperience/cards/BootstrapPackage/components/BootstrapPackagePreview/_styles.scss similarity index 100% rename from frontend/pages/ManageControlsPage/MacOSSetup/cards/BootstrapPackage/components/BootstrapPackagePreview/_styles.scss rename to frontend/pages/ManageControlsPage/SetupExperience/cards/BootstrapPackage/components/BootstrapPackagePreview/_styles.scss diff --git a/frontend/pages/ManageControlsPage/MacOSSetup/cards/BootstrapPackage/components/BootstrapPackagePreview/index.ts b/frontend/pages/ManageControlsPage/SetupExperience/cards/BootstrapPackage/components/BootstrapPackagePreview/index.ts similarity index 100% rename from frontend/pages/ManageControlsPage/MacOSSetup/cards/BootstrapPackage/components/BootstrapPackagePreview/index.ts rename to frontend/pages/ManageControlsPage/SetupExperience/cards/BootstrapPackage/components/BootstrapPackagePreview/index.ts diff --git a/frontend/pages/ManageControlsPage/MacOSSetup/cards/BootstrapPackage/components/BootstrapPackageTable/BootstrapPackageTable.tsx b/frontend/pages/ManageControlsPage/SetupExperience/cards/BootstrapPackage/components/BootstrapPackageTable/BootstrapPackageTable.tsx similarity index 100% rename from frontend/pages/ManageControlsPage/MacOSSetup/cards/BootstrapPackage/components/BootstrapPackageTable/BootstrapPackageTable.tsx rename to frontend/pages/ManageControlsPage/SetupExperience/cards/BootstrapPackage/components/BootstrapPackageTable/BootstrapPackageTable.tsx diff --git a/frontend/pages/ManageControlsPage/MacOSSetup/cards/BootstrapPackage/components/BootstrapPackageTable/BootstrapPackageTableConfig.tsx b/frontend/pages/ManageControlsPage/SetupExperience/cards/BootstrapPackage/components/BootstrapPackageTable/BootstrapPackageTableConfig.tsx similarity index 100% rename from frontend/pages/ManageControlsPage/MacOSSetup/cards/BootstrapPackage/components/BootstrapPackageTable/BootstrapPackageTableConfig.tsx rename to frontend/pages/ManageControlsPage/SetupExperience/cards/BootstrapPackage/components/BootstrapPackageTable/BootstrapPackageTableConfig.tsx diff --git a/frontend/pages/ManageControlsPage/MacOSSetup/cards/BootstrapPackage/components/BootstrapPackageTable/_styles.scss b/frontend/pages/ManageControlsPage/SetupExperience/cards/BootstrapPackage/components/BootstrapPackageTable/_styles.scss similarity index 100% rename from frontend/pages/ManageControlsPage/MacOSSetup/cards/BootstrapPackage/components/BootstrapPackageTable/_styles.scss rename to frontend/pages/ManageControlsPage/SetupExperience/cards/BootstrapPackage/components/BootstrapPackageTable/_styles.scss diff --git a/frontend/pages/ManageControlsPage/MacOSSetup/cards/BootstrapPackage/components/BootstrapPackageTable/index.ts b/frontend/pages/ManageControlsPage/SetupExperience/cards/BootstrapPackage/components/BootstrapPackageTable/index.ts similarity index 100% rename from frontend/pages/ManageControlsPage/MacOSSetup/cards/BootstrapPackage/components/BootstrapPackageTable/index.ts rename to frontend/pages/ManageControlsPage/SetupExperience/cards/BootstrapPackage/components/BootstrapPackageTable/index.ts diff --git a/frontend/pages/ManageControlsPage/MacOSSetup/cards/BootstrapPackage/components/BootstrapPackageUploader/BootstrapPackageUploader.tsx b/frontend/pages/ManageControlsPage/SetupExperience/cards/BootstrapPackage/components/BootstrapPackageUploader/BootstrapPackageUploader.tsx similarity index 100% rename from frontend/pages/ManageControlsPage/MacOSSetup/cards/BootstrapPackage/components/BootstrapPackageUploader/BootstrapPackageUploader.tsx rename to frontend/pages/ManageControlsPage/SetupExperience/cards/BootstrapPackage/components/BootstrapPackageUploader/BootstrapPackageUploader.tsx diff --git a/frontend/pages/ManageControlsPage/MacOSSetup/cards/BootstrapPackage/components/BootstrapPackageUploader/_styles.scss b/frontend/pages/ManageControlsPage/SetupExperience/cards/BootstrapPackage/components/BootstrapPackageUploader/_styles.scss similarity index 100% rename from frontend/pages/ManageControlsPage/MacOSSetup/cards/BootstrapPackage/components/BootstrapPackageUploader/_styles.scss rename to frontend/pages/ManageControlsPage/SetupExperience/cards/BootstrapPackage/components/BootstrapPackageUploader/_styles.scss diff --git a/frontend/pages/ManageControlsPage/MacOSSetup/cards/BootstrapPackage/components/BootstrapPackageUploader/helpers.ts b/frontend/pages/ManageControlsPage/SetupExperience/cards/BootstrapPackage/components/BootstrapPackageUploader/helpers.ts similarity index 100% rename from frontend/pages/ManageControlsPage/MacOSSetup/cards/BootstrapPackage/components/BootstrapPackageUploader/helpers.ts rename to frontend/pages/ManageControlsPage/SetupExperience/cards/BootstrapPackage/components/BootstrapPackageUploader/helpers.ts diff --git a/frontend/pages/ManageControlsPage/MacOSSetup/cards/BootstrapPackage/components/BootstrapPackageUploader/index.ts b/frontend/pages/ManageControlsPage/SetupExperience/cards/BootstrapPackage/components/BootstrapPackageUploader/index.ts similarity index 100% rename from frontend/pages/ManageControlsPage/MacOSSetup/cards/BootstrapPackage/components/BootstrapPackageUploader/index.ts rename to frontend/pages/ManageControlsPage/SetupExperience/cards/BootstrapPackage/components/BootstrapPackageUploader/index.ts diff --git a/frontend/pages/ManageControlsPage/MacOSSetup/cards/BootstrapPackage/components/DeletePackageModal/DeletePackageModal.tsx b/frontend/pages/ManageControlsPage/SetupExperience/cards/BootstrapPackage/components/DeletePackageModal/DeletePackageModal.tsx similarity index 100% rename from frontend/pages/ManageControlsPage/MacOSSetup/cards/BootstrapPackage/components/DeletePackageModal/DeletePackageModal.tsx rename to frontend/pages/ManageControlsPage/SetupExperience/cards/BootstrapPackage/components/DeletePackageModal/DeletePackageModal.tsx diff --git a/frontend/pages/ManageControlsPage/MacOSSetup/cards/BootstrapPackage/components/DeletePackageModal/_styles.scss b/frontend/pages/ManageControlsPage/SetupExperience/cards/BootstrapPackage/components/DeletePackageModal/_styles.scss similarity index 100% rename from frontend/pages/ManageControlsPage/MacOSSetup/cards/BootstrapPackage/components/DeletePackageModal/_styles.scss rename to frontend/pages/ManageControlsPage/SetupExperience/cards/BootstrapPackage/components/DeletePackageModal/_styles.scss diff --git a/frontend/pages/ManageControlsPage/MacOSSetup/cards/BootstrapPackage/components/DeletePackageModal/index.ts b/frontend/pages/ManageControlsPage/SetupExperience/cards/BootstrapPackage/components/DeletePackageModal/index.ts similarity index 100% rename from frontend/pages/ManageControlsPage/MacOSSetup/cards/BootstrapPackage/components/DeletePackageModal/index.ts rename to frontend/pages/ManageControlsPage/SetupExperience/cards/BootstrapPackage/components/DeletePackageModal/index.ts diff --git a/frontend/pages/ManageControlsPage/MacOSSetup/cards/BootstrapPackage/components/UploadedPackageView/UploadedPackageView.tsx b/frontend/pages/ManageControlsPage/SetupExperience/cards/BootstrapPackage/components/UploadedPackageView/UploadedPackageView.tsx similarity index 100% rename from frontend/pages/ManageControlsPage/MacOSSetup/cards/BootstrapPackage/components/UploadedPackageView/UploadedPackageView.tsx rename to frontend/pages/ManageControlsPage/SetupExperience/cards/BootstrapPackage/components/UploadedPackageView/UploadedPackageView.tsx diff --git a/frontend/pages/ManageControlsPage/MacOSSetup/cards/BootstrapPackage/components/UploadedPackageView/_styles.scss b/frontend/pages/ManageControlsPage/SetupExperience/cards/BootstrapPackage/components/UploadedPackageView/_styles.scss similarity index 100% rename from frontend/pages/ManageControlsPage/MacOSSetup/cards/BootstrapPackage/components/UploadedPackageView/_styles.scss rename to frontend/pages/ManageControlsPage/SetupExperience/cards/BootstrapPackage/components/UploadedPackageView/_styles.scss diff --git a/frontend/pages/ManageControlsPage/MacOSSetup/cards/BootstrapPackage/components/UploadedPackageView/index.ts b/frontend/pages/ManageControlsPage/SetupExperience/cards/BootstrapPackage/components/UploadedPackageView/index.ts similarity index 100% rename from frontend/pages/ManageControlsPage/MacOSSetup/cards/BootstrapPackage/components/UploadedPackageView/index.ts rename to frontend/pages/ManageControlsPage/SetupExperience/cards/BootstrapPackage/components/UploadedPackageView/index.ts diff --git a/frontend/pages/ManageControlsPage/MacOSSetup/cards/BootstrapPackage/index.ts b/frontend/pages/ManageControlsPage/SetupExperience/cards/BootstrapPackage/index.ts similarity index 100% rename from frontend/pages/ManageControlsPage/MacOSSetup/cards/BootstrapPackage/index.ts rename to frontend/pages/ManageControlsPage/SetupExperience/cards/BootstrapPackage/index.ts diff --git a/frontend/pages/ManageControlsPage/MacOSSetup/cards/EndUserAuthentication/EndUserAuthentication.tsx b/frontend/pages/ManageControlsPage/SetupExperience/cards/EndUserAuthentication/EndUserAuthentication.tsx similarity index 100% rename from frontend/pages/ManageControlsPage/MacOSSetup/cards/EndUserAuthentication/EndUserAuthentication.tsx rename to frontend/pages/ManageControlsPage/SetupExperience/cards/EndUserAuthentication/EndUserAuthentication.tsx diff --git a/frontend/pages/ManageControlsPage/MacOSSetup/cards/EndUserAuthentication/_styles.scss b/frontend/pages/ManageControlsPage/SetupExperience/cards/EndUserAuthentication/_styles.scss similarity index 100% rename from frontend/pages/ManageControlsPage/MacOSSetup/cards/EndUserAuthentication/_styles.scss rename to frontend/pages/ManageControlsPage/SetupExperience/cards/EndUserAuthentication/_styles.scss diff --git a/frontend/pages/ManageControlsPage/MacOSSetup/cards/EndUserAuthentication/components/EndUserAuthForm/EndUserAuthForm.tsx b/frontend/pages/ManageControlsPage/SetupExperience/cards/EndUserAuthentication/components/EndUserAuthForm/EndUserAuthForm.tsx similarity index 100% rename from frontend/pages/ManageControlsPage/MacOSSetup/cards/EndUserAuthentication/components/EndUserAuthForm/EndUserAuthForm.tsx rename to frontend/pages/ManageControlsPage/SetupExperience/cards/EndUserAuthentication/components/EndUserAuthForm/EndUserAuthForm.tsx diff --git a/frontend/pages/ManageControlsPage/MacOSSetup/cards/EndUserAuthentication/components/EndUserAuthForm/_styles.scss b/frontend/pages/ManageControlsPage/SetupExperience/cards/EndUserAuthentication/components/EndUserAuthForm/_styles.scss similarity index 100% rename from frontend/pages/ManageControlsPage/MacOSSetup/cards/EndUserAuthentication/components/EndUserAuthForm/_styles.scss rename to frontend/pages/ManageControlsPage/SetupExperience/cards/EndUserAuthentication/components/EndUserAuthForm/_styles.scss diff --git a/frontend/pages/ManageControlsPage/MacOSSetup/cards/EndUserAuthentication/components/EndUserAuthForm/index.ts b/frontend/pages/ManageControlsPage/SetupExperience/cards/EndUserAuthentication/components/EndUserAuthForm/index.ts similarity index 100% rename from frontend/pages/ManageControlsPage/MacOSSetup/cards/EndUserAuthentication/components/EndUserAuthForm/index.ts rename to frontend/pages/ManageControlsPage/SetupExperience/cards/EndUserAuthentication/components/EndUserAuthForm/index.ts diff --git a/frontend/pages/ManageControlsPage/MacOSSetup/cards/EndUserAuthentication/components/RequireEndUserAuth/RequireEndUserAuth.tsx b/frontend/pages/ManageControlsPage/SetupExperience/cards/EndUserAuthentication/components/RequireEndUserAuth/RequireEndUserAuth.tsx similarity index 100% rename from frontend/pages/ManageControlsPage/MacOSSetup/cards/EndUserAuthentication/components/RequireEndUserAuth/RequireEndUserAuth.tsx rename to frontend/pages/ManageControlsPage/SetupExperience/cards/EndUserAuthentication/components/RequireEndUserAuth/RequireEndUserAuth.tsx diff --git a/frontend/pages/ManageControlsPage/MacOSSetup/cards/EndUserAuthentication/components/RequireEndUserAuth/_styles.scss b/frontend/pages/ManageControlsPage/SetupExperience/cards/EndUserAuthentication/components/RequireEndUserAuth/_styles.scss similarity index 100% rename from frontend/pages/ManageControlsPage/MacOSSetup/cards/EndUserAuthentication/components/RequireEndUserAuth/_styles.scss rename to frontend/pages/ManageControlsPage/SetupExperience/cards/EndUserAuthentication/components/RequireEndUserAuth/_styles.scss diff --git a/frontend/pages/ManageControlsPage/MacOSSetup/cards/EndUserAuthentication/components/RequireEndUserAuth/index.ts b/frontend/pages/ManageControlsPage/SetupExperience/cards/EndUserAuthentication/components/RequireEndUserAuth/index.ts similarity index 100% rename from frontend/pages/ManageControlsPage/MacOSSetup/cards/EndUserAuthentication/components/RequireEndUserAuth/index.ts rename to frontend/pages/ManageControlsPage/SetupExperience/cards/EndUserAuthentication/components/RequireEndUserAuth/index.ts diff --git a/frontend/pages/ManageControlsPage/MacOSSetup/cards/EndUserAuthentication/index.ts b/frontend/pages/ManageControlsPage/SetupExperience/cards/EndUserAuthentication/index.ts similarity index 100% rename from frontend/pages/ManageControlsPage/MacOSSetup/cards/EndUserAuthentication/index.ts rename to frontend/pages/ManageControlsPage/SetupExperience/cards/EndUserAuthentication/index.ts diff --git a/frontend/pages/ManageControlsPage/SetupExperience/index.ts b/frontend/pages/ManageControlsPage/SetupExperience/index.ts new file mode 100644 index 0000000000..dd3f81bf29 --- /dev/null +++ b/frontend/pages/ManageControlsPage/SetupExperience/index.ts @@ -0,0 +1 @@ +export { default } from "./SetupExperience"; diff --git a/frontend/pages/ManageControlsPage/components/TurnOnMdmMessage/TurnOnMdmMessage.tsx b/frontend/pages/ManageControlsPage/components/TurnOnMdmMessage/TurnOnMdmMessage.tsx new file mode 100644 index 0000000000..545887a8f5 --- /dev/null +++ b/frontend/pages/ManageControlsPage/components/TurnOnMdmMessage/TurnOnMdmMessage.tsx @@ -0,0 +1,40 @@ +import React from "react"; +import PATHS from "router/paths"; + +import EmptyTable from "components/EmptyTable"; +import Button from "components/buttons/Button"; +import { InjectedRouter } from "react-router"; + +const baseClass = "turn-on-mdm-message"; + +interface ITurnOnMdmMessageProps { + router: InjectedRouter; +} + +const TurnOnMdmMessage = ({ router }: ITurnOnMdmMessageProps) => { + const onConnectClick = () => { + router.push(PATHS.ADMIN_INTEGRATIONS_MDM); + }; + + const renderConnectButton = () => { + return ( + + ); + }; + + return ( + + ); +}; + +export default TurnOnMdmMessage; diff --git a/frontend/pages/ManageControlsPage/components/TurnOnMdmMessage/index.ts b/frontend/pages/ManageControlsPage/components/TurnOnMdmMessage/index.ts new file mode 100644 index 0000000000..c0603c7144 --- /dev/null +++ b/frontend/pages/ManageControlsPage/components/TurnOnMdmMessage/index.ts @@ -0,0 +1 @@ +export { default } from "./TurnOnMdmMessage"; diff --git a/frontend/router/index.tsx b/frontend/router/index.tsx index 6e8109b385..f314b5ecc8 100644 --- a/frontend/router/index.tsx +++ b/frontend/router/index.tsx @@ -50,9 +50,9 @@ import SettingsWrapper from "pages/admin/AdminWrapper"; import ManageControlsPage from "pages/ManageControlsPage/ManageControlsPage"; import MembersPage from "pages/admin/TeamManagementPage/TeamDetailsWrapper/MembersPage"; import AgentOptionsPage from "pages/admin/TeamManagementPage/TeamDetailsWrapper/AgentOptionsPage"; -import MacOSUpdates from "pages/ManageControlsPage/MacOSUpdates"; -import MacOSSettings from "pages/ManageControlsPage/MacOSSettings"; -import MacOSSetup from "pages/ManageControlsPage/MacOSSetup/MacOSSetup"; +import OSUpdates from "pages/ManageControlsPage/OSUpdates"; +import OSSettings from "pages/ManageControlsPage/OSSettings"; +import SetupExperience from "pages/ManageControlsPage/SetupExperience/SetupExperience"; import WindowsMdmPage from "pages/admin/IntegrationsPage/cards/MdmSettings/WindowsMdmPage"; import MacOSMdmPage from "pages/admin/IntegrationsPage/cards/MdmSettings/MacOSMdmPage"; import WindowsAutomaticEnrollmentPage from "pages/admin/IntegrationsPage/cards/AutomaticEnrollment/WindowsAutomaticEnrollmentPage"; @@ -186,13 +186,16 @@ const routes = ( - + - - - - - + + + + + diff --git a/frontend/router/page_titles.ts b/frontend/router/page_titles.ts index 50869e13bb..49b7cd6f16 100644 --- a/frontend/router/page_titles.ts +++ b/frontend/router/page_titles.ts @@ -4,16 +4,16 @@ export default [ { path: "/dashboard", title: "Dashboard | Fleet for osquery" }, { path: "/hosts/manage", title: "Manage hosts | Fleet for osquery" }, { - path: "/controls/mac-os-updates", - title: "Manage macOS updates | Fleet for osquery", + path: "/controls/os-updates", + title: "Manage OS updates | Fleet for osquery", }, { - path: "/controls/mac-settings", - title: "Manage macOS settings | Fleet for osquery", + path: "/controls/os-settings", + title: "Manage OS settings | Fleet for osquery", }, { - path: "/controls/mac-setup", - title: "Manage macOS MDM setup | Fleet for osquery", + path: "/controls/setup-experience", + title: "Manage setup experience | Fleet for osquery", }, { path: "/software/manage", title: "Manage software | Fleet for osquery" }, { path: "/queries/manage", title: "Manage queries | Fleet for osquery" }, diff --git a/frontend/router/paths.ts b/frontend/router/paths.ts index d2ab35c3b5..834403705e 100644 --- a/frontend/router/paths.ts +++ b/frontend/router/paths.ts @@ -4,15 +4,18 @@ import URL_PREFIX from "./url_prefix"; // Note: changes to paths.ts should change page_titles.ts respectively export default { ROOT: `${URL_PREFIX}/`, + + // Controls pages CONTROLS: `${URL_PREFIX}/controls`, - CONTROLS_MAC_OS_UPDATES: `${URL_PREFIX}/controls/mac-os-updates`, - CONTROLS_MAC_SETTINGS: `${URL_PREFIX}/controls/mac-settings`, - CONTROLS_CUSTOM_SETTINGS: `${URL_PREFIX}/controls/mac-settings/custom-settings`, - CONTROLS_DISK_ENCRYPTION: `${URL_PREFIX}/controls/mac-settings/disk-encryption`, - CONTROLS_MAC_SETUP: `${URL_PREFIX}/controls/mac-setup`, - CONTROLS_END_USER_AUTHENTICATION: `${URL_PREFIX}/controls/mac-setup/end-user-auth`, - CONTROLS_BOOTSTRAP_PACKAGE: `${URL_PREFIX}/controls/mac-setup/bootstrap-package`, + CONTROLS_OS_UPDATES: `${URL_PREFIX}/controls/os-updates`, + CONTROLS_OS_SETTINGS: `${URL_PREFIX}/controls/os-settings`, + CONTROLS_CUSTOM_SETTINGS: `${URL_PREFIX}/controls/os-settings/custom-settings`, + CONTROLS_DISK_ENCRYPTION: `${URL_PREFIX}/controls/os-settings/disk-encryption`, + CONTROLS_SETUP_EXPERIENCE: `${URL_PREFIX}/controls/setup-experience`, + CONTROLS_END_USER_AUTHENTICATION: `${URL_PREFIX}/controls/setup-experience/end-user-auth`, + CONTROLS_BOOTSTRAP_PACKAGE: `${URL_PREFIX}/controls/setup-experience/bootstrap-package`, CONTROLS_MAC_SCRIPTS: `${URL_PREFIX}/controls/mac-scripts`, + DASHBOARD: `${URL_PREFIX}/dashboard`, DASHBOARD_LINUX: `${URL_PREFIX}/dashboard/linux`, DASHBOARD_MAC: `${URL_PREFIX}/dashboard/mac`,