Model improvements

This commit is contained in:
Arkadiusz Fal
2022-09-02 01:05:31 +02:00
parent 7b48041165
commit f607e6e276
23 changed files with 194 additions and 270 deletions

View File

@@ -0,0 +1,21 @@
import Defaults
import Foundation
import SwiftUI
final class ControlOverlaysModel: ObservableObject {
static let shared = ControlOverlaysModel()
@Published var presenting = false { didSet { handlePresentationChange() } }
private lazy var controls = PlayerControlsModel.shared
private lazy var player: PlayerModel! = PlayerModel.shared
func toggle() {
presenting.toggle()
controls.objectWillChange.send()
}
private func handlePresentationChange() {
guard let player = player else { return }
player.backend.setNeedsNetworkStateUpdates(presenting && Defaults[.showMPVPlaybackStats])
}
}