1
0
mirror of https://github.com/yattee/yattee.git synced 2024-12-13 05:40:32 +05:30
yattee/Fixtures/View+Fixtures.swift

71 lines
2.2 KiB
Swift
Raw Normal View History

2021-09-29 17:15:00 +05:30
import Foundation
import SwiftUI
struct FixtureEnvironmentObjectsModifier: ViewModifier {
func body(content: Content) -> some View {
content
2021-10-18 04:36:00 +05:30
.environmentObject(AccountsModel())
2022-06-25 05:09:29 +05:30
.environmentObject(comments)
2021-09-29 17:15:00 +05:30
.environmentObject(InstancesModel())
.environmentObject(InstancesManifest())
2021-10-18 04:36:00 +05:30
.environmentObject(invidious)
2021-09-29 17:15:00 +05:30
.environmentObject(NavigationModel())
.environmentObject(NetworkStateModel())
2021-10-18 04:36:00 +05:30
.environmentObject(PipedAPI())
.environmentObject(player)
.environmentObject(playerControls)
.environmentObject(PlayerTimeModel())
2021-09-29 17:15:00 +05:30
.environmentObject(PlaylistsModel())
.environmentObject(RecentsModel())
.environmentObject(SearchModel())
2022-07-04 01:52:57 +05:30
.environmentObject(SettingsModel())
.environmentObject(subscriptions)
2021-11-02 03:26:18 +05:30
.environmentObject(ThumbnailsModel())
2021-09-29 18:06:52 +05:30
}
2022-06-25 05:09:29 +05:30
private var comments: CommentsModel {
let comments = CommentsModel()
comments.loaded = true
comments.all = [.fixture]
return comments
}
2021-10-18 04:36:00 +05:30
private var invidious: InvidiousAPI {
2021-09-29 18:06:52 +05:30
let api = InvidiousAPI()
api.validInstance = true
api.signedIn = true
return api
2021-09-29 17:15:00 +05:30
}
private var player: PlayerModel {
let player = PlayerModel()
2022-07-05 22:51:01 +05:30
player.currentItem = PlayerQueueItem(Video(videoID: "", title: "", author: "", length: 0, published: "2 days ago", views: 43434, channel: .init(id: "", name: ""), likes: 2332, dislikes: 30))
player.queue = Video.allFixtures.map { PlayerQueueItem($0) }
2022-07-05 22:51:01 +05:30
player.videoBeingOpened = Video.fixture
return player
}
private var playerControls: PlayerControlsModel {
2022-07-05 22:51:01 +05:30
PlayerControlsModel(presentingControls: true, presentingControlsOverlay: true, player: player)
}
private var subscriptions: SubscriptionsModel {
let subscriptions = SubscriptionsModel()
subscriptions.channels = Video.allFixtures.map { $0.channel }
return subscriptions
}
2021-09-29 17:15:00 +05:30
}
extension View {
func injectFixtureEnvironmentObjects() -> some View {
modifier(FixtureEnvironmentObjectsModifier())
}
}