Replace environment objects with observed objects

This commit is contained in:
Arkadiusz Fal
2022-11-24 21:36:05 +01:00
parent 23fa0968c6
commit 0d333b5583
102 changed files with 427 additions and 723 deletions

View File

@@ -5,7 +5,7 @@ import SwiftUI
struct ChapterView: View {
var chapter: Chapter
@EnvironmentObject<PlayerModel> private var player
var player = PlayerModel.shared
var body: some View {
Button {

View File

@@ -3,7 +3,7 @@ import SDWebImageSwiftUI
import SwiftUI
struct ChaptersView: View {
@EnvironmentObject<PlayerModel> private var player
@ObservedObject private var player = PlayerModel.shared
var body: some View {
if let chapters = player.currentVideo?.chapters, !chapters.isEmpty {

View File

@@ -14,11 +14,8 @@ struct CommentView: View {
@Environment(\.colorScheme) private var colorScheme
@Environment(\.navigationStyle) private var navigationStyle
@EnvironmentObject<CommentsModel> private var comments
@EnvironmentObject<NavigationModel> private var navigation
@EnvironmentObject<PlayerModel> private var player
@EnvironmentObject<RecentsModel> private var recents
@EnvironmentObject<SubscriptionsModel> private var subscriptions
@ObservedObject private var comments = CommentsModel.shared
var subscriptions = SubscriptionsModel.shared
var body: some View {
VStack(alignment: .leading) {
@@ -252,11 +249,8 @@ struct CommentView: View {
}
private func openChannelAction() {
NavigationModel.openChannel(
NavigationModel.shared.openChannel(
comment.channel,
player: player,
recents: recents,
navigation: navigation,
navigationStyle: navigationStyle
)
}
@@ -269,7 +263,6 @@ struct CommentView_Previews: PreviewProvider {
static var previews: some View {
CommentView(comment: fixture, repliesID: .constant(fixture.id))
.environmentObject(SubscriptionsModel())
.padding(5)
}
}

View File

@@ -4,7 +4,7 @@ struct CommentsView: View {
var embedInScrollView = false
@State private var repliesID: Comment.ID?
@EnvironmentObject<CommentsModel> private var comments
@ObservedObject private var comments = CommentsModel.shared
var body: some View {
Group {

View File

@@ -3,7 +3,7 @@ import SwiftUI
struct InspectorView: View {
var video: Video?
@EnvironmentObject<PlayerModel> private var player
@ObservedObject private var player = PlayerModel.shared
var body: some View {
ScrollView {

View File

@@ -9,10 +9,7 @@ struct PlayerQueueView: View {
@FetchRequest(sortDescriptors: [.init(key: "watchedAt", ascending: false)])
var watches: FetchedResults<Watch>
@EnvironmentObject<AccountsModel> private var accounts
@EnvironmentObject<NavigationModel> private var navigation
@EnvironmentObject<PlaylistsModel> private var playlists
@EnvironmentObject<PlayerModel> private var player
@ObservedObject private var player = PlayerModel.shared
@Default(.saveHistory) private var saveHistory

View File

@@ -2,10 +2,10 @@ import Defaults
import SwiftUI
struct VideoActions: View {
@EnvironmentObject<AccountsModel> private var accounts
@EnvironmentObject<NavigationModel> private var navigation
@EnvironmentObject<SubscriptionsModel> private var subscriptions
@EnvironmentObject<PlayerModel> private var player
@ObservedObject private var accounts = AccountsModel.shared
var navigation = NavigationModel.shared
@ObservedObject private var subscriptions = SubscriptionsModel.shared
@ObservedObject private var player = PlayerModel.shared
var video: Video?

View File

@@ -6,10 +6,7 @@ import Foundation
import SwiftUI
struct VideoDescription: View {
@EnvironmentObject<NavigationModel> private var navigation
@EnvironmentObject<PlayerModel> private var player
@EnvironmentObject<RecentsModel> private var recents
@EnvironmentObject<SearchModel> private var search
private var search: SearchModel { .shared }
@Default(.showKeywords) private var showKeywords
var video: Video
@@ -56,7 +53,7 @@ struct VideoDescription: View {
HStack {
ForEach(video.keywords, id: \.self) { keyword in
Button {
NavigationModel.openSearchQuery(keyword, player: player, recents: recents, navigation: navigation, search: search)
NavigationModel.shared.openSearchQuery(keyword)
} label: {
HStack(alignment: .center, spacing: 0) {
Text("#")
@@ -96,7 +93,8 @@ struct VideoDescription: View {
@State private var label = ActiveLabel()
@Environment(\.openURL) private var openURL
@EnvironmentObject<PlayerModel> private var player
var player = PlayerModel.shared
func makeUIView(context _: Context) -> some UIView {
customizeLabel()

View File

@@ -23,12 +23,9 @@ struct VideoDetails: View {
@Environment(\.colorScheme) private var colorScheme
@EnvironmentObject<AccountsModel> private var accounts
@EnvironmentObject<CommentsModel> private var comments
@EnvironmentObject<NavigationModel> private var navigation
@EnvironmentObject<PlayerModel> private var player
@EnvironmentObject<RecentsModel> private var recents
@EnvironmentObject<SubscriptionsModel> private var subscriptions
@ObservedObject private var accounts = AccountsModel.shared
let comments = CommentsModel.shared
@ObservedObject private var player = PlayerModel.shared
@Default(.enableReturnYouTubeDislike) private var enableReturnYouTubeDislike
@Default(.detailsToolbarPosition) private var detailsToolbarPosition
@@ -148,6 +145,7 @@ struct VideoDetails: View {
}
}
.contentShape(Rectangle())
.frame(maxHeight: .infinity)
}
@State private var detailsSize = CGSize.zero

View File

@@ -13,7 +13,7 @@ struct VideoDetailsToolbar: View {
@State private var startedToolPosition: CGRect = .zero
@State private var opacity = 1.0
@EnvironmentObject<PlayerModel> private var player
@ObservedObject private var player = PlayerModel.shared
@Default(.playerDetailsPageButtonLabelStyle) private var playerDetailsPageButtonLabelStyle
var body: some View {