Issue #3: Load selected blocklist from Settings. Load configured DoH from system. Update UI accordingly.

This commit is contained in:
Benjamin Erhart 2026-04-15 13:41:38 +02:00
parent 6cbad66a87
commit 8c1716de77

View file

@ -36,6 +36,40 @@ class ViewModel: NSObject, ObservableObject {
private let log = Logger(subsystem: String(describing: ViewModel.self), category: String(describing: ViewModel.self)) private let log = Logger(subsystem: String(describing: ViewModel.self), category: String(describing: ViewModel.self))
override init() {
super.init()
isProgrammaticChange = true
blocklist = Settings.blocklist
Task {
do {
try await manager.loadFromPreferences()
}
catch {
log.error("Error loading preferences: \(error)")
return
}
if let settings = manager.dnsSettings {
for dnsServer in BlocklistOption.allCases {
if settings.servers.contains(dnsServer.ipv4) {
await MainActor.run {
isProgrammaticChange = true
blocklist = dnsServer
isProgrammaticChange = true
isDnsEnabled = true
}
break
}
}
}
}
}
func toggleDns() { func toggleDns() {
guard !isProgrammaticChange else { guard !isProgrammaticChange else {
// Reset, so next one is recognized as coming from the user again. // Reset, so next one is recognized as coming from the user again.