mirror of
https://github.com/fleetdm/fleet
synced 2026-05-24 09:28:54 +00:00
**Related issue:** Resolves #36689 <img width="1840" height="1196" alt="Screenshot 2025-12-15 at 5 08 02 PM" src="https://github.com/user-attachments/assets/4f491c80-403f-4188-8cab-552e997c6e9c" /> <img width="1840" height="1196" alt="Screenshot 2025-12-15 at 5 09 18 PM" src="https://github.com/user-attachments/assets/b6e4d9ad-40c1-45c3-8b77-e14d17a2bc7e" /> <img width="1840" height="1196" alt="Screenshot 2025-12-15 at 5 09 22 PM" src="https://github.com/user-attachments/assets/661beee2-3ee2-4269-ab0b-ca070c1a40b8" /> If some of the following don't apply, delete the relevant line. - [x] Changes file added for user-visible changes in `changes/` - [x] Added/updated automated tests - [x] QA'd all new/changed functionality manually <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit ## Release Notes * **New Features** * Added comprehensive Android certificate management in OS Settings with create, list, and delete operations * Integrated certificate management with premium tier gating and MDM enablement checks * Supports team-scoped certificates with pagination controls * Includes validation for certificate names and certificate authority selection * **Refactor** * Generalized heading component to support multiple entity types beyond configuration profiles <sub>✏️ Tip: You can customize this high-level summary in your review settings.</sub> <!-- end of auto-generated comment: release notes by coderabbit.ai -->
43 lines
1.3 KiB
TypeScript
43 lines
1.3 KiB
TypeScript
import { InjectedRouter } from "react-router";
|
|
|
|
import PATHS from "router/paths";
|
|
import { ISideNavItem } from "pages/admin/components/SideNav/SideNav";
|
|
|
|
import DiskEncryption from "./cards/DiskEncryption";
|
|
import CustomSettings from "./cards/CustomSettings";
|
|
import Certificates from "./cards/Certificates";
|
|
import { ICustomSettingsProps } from "./cards/CustomSettings/CustomSettings";
|
|
import { IDiskEncryptionProps } from "./cards/DiskEncryption/DiskEncryption";
|
|
|
|
export interface IOSSettingsCommonProps {
|
|
currentTeamId: number;
|
|
router: InjectedRouter;
|
|
/** handler that fires when a change occures on the section (e.g. disk encryption
|
|
* enabled, profile uploaded) */
|
|
onMutation: () => void;
|
|
}
|
|
|
|
type IOSSettingsCardProps = IDiskEncryptionProps | ICustomSettingsProps;
|
|
|
|
const OS_SETTINGS_NAV_ITEMS: ISideNavItem<IOSSettingsCardProps>[] = [
|
|
{
|
|
title: "Disk encryption",
|
|
urlSection: "disk-encryption",
|
|
path: PATHS.CONTROLS_DISK_ENCRYPTION,
|
|
Card: DiskEncryption,
|
|
},
|
|
{
|
|
title: "Custom settings",
|
|
urlSection: "custom-settings",
|
|
path: PATHS.CONTROLS_CUSTOM_SETTINGS,
|
|
Card: CustomSettings,
|
|
},
|
|
{
|
|
title: "Certificates",
|
|
Card: Certificates,
|
|
urlSection: "certificates",
|
|
path: PATHS.CONTROLS_CERTIFICATES,
|
|
},
|
|
];
|
|
|
|
export default OS_SETTINGS_NAV_ITEMS;
|