import Defaults import SwiftUI struct Player: UIViewControllerRepresentable { @EnvironmentObject private var comments @EnvironmentObject private var navigation @EnvironmentObject private var player @EnvironmentObject private var subscriptions var controller: PlayerViewController? init(controller: PlayerViewController? = nil) { self.controller = controller } func makeUIViewController(context _: Context) -> PlayerViewController { if self.controller != nil { return self.controller! } let controller = PlayerViewController() controller.commentsModel = comments controller.navigationModel = navigation controller.playerModel = player controller.subscriptionsModel = subscriptions player.controller = controller return controller } func updateUIViewController(_: PlayerViewController, context _: Context) { player.rebuildTVMenu() } }