Merge iOS and Mac app into one

This commit is contained in:
Scarriffle
2026-05-17 21:06:59 +02:00
parent 069f8bac2d
commit ac7906f0cf
72 changed files with 1277 additions and 3408 deletions

View File

@@ -0,0 +1,31 @@
import Foundation
import Network
import Observation
@Observable
@MainActor
final class NetworkMonitor {
var isOnline: Bool = true
private let monitor = NWPathMonitor()
private let queue = DispatchQueue(label: "NetworkMonitor")
func start(onChange: @escaping @MainActor (Bool) -> Void) {
monitor.pathUpdateHandler = { [weak self] path in
let online = path.status == .satisfied
Task { @MainActor [weak self] in
guard let self else { return }
let previous = self.isOnline
self.isOnline = online
if previous != online {
onChange(online)
}
}
}
monitor.start(queue: queue)
}
func stop() {
monitor.cancel()
}
}