39 lines
1.6 KiB
Swift
39 lines
1.6 KiB
Swift
import ManagedSettings
|
|
import ManagedSettingsUI
|
|
import UIKit
|
|
|
|
final class ShieldConfigurationExtension: ShieldConfigurationDataSource {
|
|
override func configuration(shielding application: Application) -> ShieldConfiguration {
|
|
makeConfiguration()
|
|
}
|
|
|
|
override func configuration(shielding application: Application, in category: ActivityCategory) -> ShieldConfiguration {
|
|
makeConfiguration()
|
|
}
|
|
|
|
override func configuration(shielding webDomain: WebDomain) -> ShieldConfiguration {
|
|
makeConfiguration()
|
|
}
|
|
|
|
override func configuration(shielding webDomain: WebDomain, in category: ActivityCategory) -> ShieldConfiguration {
|
|
makeConfiguration()
|
|
}
|
|
|
|
private func makeConfiguration() -> ShieldConfiguration {
|
|
let config = AppRestrictSharedStore.shieldConfig
|
|
let image = AppRestrictSharedStore.loadShieldImage()
|
|
let background = UIColor(red: 0.98, green: 0.98, blue: 0.98, alpha: 1)
|
|
let titleColor = UIColor(red: 0.16, green: 0.20, blue: 0.27, alpha: 1)
|
|
let bodyColor = UIColor(red: 0.46, green: 0.46, blue: 0.46, alpha: 1)
|
|
return ShieldConfiguration(
|
|
backgroundBlurStyle: .systemMaterial,
|
|
backgroundColor: background,
|
|
icon: image,
|
|
title: ShieldConfiguration.Label(text: config.title, color: titleColor),
|
|
subtitle: ShieldConfiguration.Label(text: config.subtitle, color: bodyColor),
|
|
primaryButtonLabel: ShieldConfiguration.Label(text: config.primaryButtonLabel, color: .white),
|
|
primaryButtonBackgroundColor: UIColor(red: 0.09, green: 0.70, blue: 1.0, alpha: 1)
|
|
)
|
|
}
|
|
}
|