feat(apple): Allow MDM override of internet resource enabled (#9122)

All the MDM configuration to shadow the `internetResourceEnabled` state.

Related: #4505

---------

Signed-off-by: Jamil <jamilbk@users.noreply.github.com>
This commit is contained in:
Jamil
2025-05-13 16:41:42 -07:00
committed by GitHub
parent 2d3adff590
commit ccd6c265bb
2 changed files with 25 additions and 8 deletions

View File

@@ -526,7 +526,13 @@ public final class MenuBar: NSObject, ObservableObject {
}
func internetResourceToggleTitle() -> String {
store.configuration?.internetResourceEnabled == true ? "Disable this resource" : "Enable this resource"
let isEnabled = store.configuration?.internetResourceEnabled == true
if store.configuration?.isOverridden(Configuration.Keys.internetResourceEnabled) ?? false {
return isEnabled ? "Managed: Enabled" : "Managed: Disabled"
}
return isEnabled ? "Disable this resource" : "Enable this resource"
}
// TODO: Refactor this when refactoring for macOS 13
@@ -618,11 +624,19 @@ public final class MenuBar: NSObject, ObservableObject {
// Resource enable / disable toggle
subMenu.addItem(NSMenuItem.separator())
let enableToggle = NSMenuItem()
enableToggle.action = #selector(internetResourceToggle(_:))
enableToggle.title = internetResourceToggleTitle()
enableToggle.toolTip = "Enable or disable resource"
enableToggle.isEnabled = true
enableToggle.target = self
if store.configuration?.isOverridden(Configuration.Keys.internetResourceEnabled) ?? false {
enableToggle.toolTip = "This setting is managed by your organization"
enableToggle.isEnabled = false
enableToggle.action = nil
} else {
enableToggle.toolTip = "Enable or disable resource"
enableToggle.isEnabled = true
enableToggle.action = #selector(internetResourceToggle(_:))
}
subMenu.addItem(enableToggle)
return subMenu

View File

@@ -235,11 +235,13 @@ struct ToggleInternetResourceButton: View {
@EnvironmentObject var store: Store
private func toggleResourceEnabledText() -> String {
if store.configuration?.internetResourceEnabled == true {
"Disable this resource"
} else {
"Enable this resource"
let isEnabled = store.configuration?.internetResourceEnabled ?? false
if store.configuration?.isOverridden(Configuration.Keys.internetResourceEnabled) ?? false {
return isEnabled ? "Managed: Enabled" : "Managed: Disabled"
}
return isEnabled ? "Disable this resource" : "Enable this resource"
}
var body: some View {
@@ -260,6 +262,7 @@ struct ToggleInternetResourceButton: View {
}
}
)
.disabled(store.configuration?.isOverridden(Configuration.Keys.internetResourceEnabled) ?? false)
}
}