yattee/Fixtures/View+Fixtures.swift

60 lines
1.7 KiB
Swift
Raw Normal View History

2021-09-29 11:45:00 +00:00
import Foundation
import SwiftUI
struct FixtureEnvironmentObjectsModifier: ViewModifier {
func body(content: Content) -> some View {
content
2021-10-17 23:06:00 +00:00
.environmentObject(AccountsModel())
2021-12-04 19:35:41 +00:00
.environmentObject(CommentsModel())
2021-09-29 11:45:00 +00:00
.environmentObject(InstancesModel())
2021-10-17 23:06:00 +00:00
.environmentObject(invidious)
2021-09-29 11:45:00 +00:00
.environmentObject(NavigationModel())
.environmentObject(NetworkStateModel())
2021-10-17 23:06:00 +00:00
.environmentObject(PipedAPI())
.environmentObject(player)
.environmentObject(playerControls)
.environmentObject(PlayerTimeModel())
2021-09-29 11:45:00 +00:00
.environmentObject(PlaylistsModel())
.environmentObject(RecentsModel())
.environmentObject(SearchModel())
.environmentObject(subscriptions)
2021-11-01 21:56:18 +00:00
.environmentObject(ThumbnailsModel())
2021-09-29 12:36:52 +00:00
}
2021-10-17 23:06:00 +00:00
private var invidious: InvidiousAPI {
2021-09-29 12:36:52 +00:00
let api = InvidiousAPI()
api.validInstance = true
api.signedIn = true
return api
2021-09-29 11:45:00 +00:00
}
private var player: PlayerModel {
let player = PlayerModel()
player.currentItem = PlayerQueueItem(Video.fixture)
player.queue = Video.allFixtures.map { PlayerQueueItem($0) }
return player
}
private var playerControls: PlayerControlsModel {
PlayerControlsModel(presentingControls: true, player: player)
}
private var subscriptions: SubscriptionsModel {
let subscriptions = SubscriptionsModel()
subscriptions.channels = Video.allFixtures.map { $0.channel }
return subscriptions
}
2021-09-29 11:45:00 +00:00
}
extension View {
func injectFixtureEnvironmentObjects() -> some View {
modifier(FixtureEnvironmentObjectsModifier())
}
}