mirror of
				https://github.com/yattee/yattee.git
				synced 2025-11-04 06:32:03 +00:00 
			
		
		
		
	Fix player initializer
This commit is contained in:
		@@ -29,6 +29,8 @@ struct ContentView: View {
 | 
			
		||||
        @Environment(\.horizontalSizeClass) private var horizontalSizeClass
 | 
			
		||||
    #endif
 | 
			
		||||
 | 
			
		||||
    @State private var playerInitialized = false
 | 
			
		||||
 | 
			
		||||
    let persistenceController = PersistenceController.shared
 | 
			
		||||
 | 
			
		||||
    var body: some View {
 | 
			
		||||
@@ -120,6 +122,7 @@ struct ContentView: View {
 | 
			
		||||
                }
 | 
			
		||||
            )
 | 
			
		||||
        #endif
 | 
			
		||||
            .background(playerViewInitialize)
 | 
			
		||||
            .alert(isPresented: $navigation.presentingAlert) { navigation.alert }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
@@ -159,6 +162,18 @@ struct ContentView: View {
 | 
			
		||||
            .environmentObject(thumbnailsModel)
 | 
			
		||||
            .environment(\.navigationStyle, navigationStyle)
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @ViewBuilder var playerViewInitialize: some View {
 | 
			
		||||
        if !playerInitialized {
 | 
			
		||||
            VideoPlayerView()
 | 
			
		||||
                .scaleEffect(0.00001)
 | 
			
		||||
                .onAppear {
 | 
			
		||||
                    DispatchQueue.main.asyncAfter(deadline: .now() + 1) {
 | 
			
		||||
                        playerInitialized = true
 | 
			
		||||
                    }
 | 
			
		||||
                }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
struct ContentView_Previews: PreviewProvider {
 | 
			
		||||
 
 | 
			
		||||
@@ -231,12 +231,7 @@ struct YatteeApp: App {
 | 
			
		||||
        subscriptions.load()
 | 
			
		||||
        playlists.load()
 | 
			
		||||
 | 
			
		||||
        #if os(macOS)
 | 
			
		||||
            Windows.player.open()
 | 
			
		||||
            DispatchQueue.main.asyncAfter(deadline: .now() + 0.5) {
 | 
			
		||||
                Windows.main.focus()
 | 
			
		||||
            }
 | 
			
		||||
        #else
 | 
			
		||||
        #if !os(macOS)
 | 
			
		||||
            player.updateRemoteCommandCenter()
 | 
			
		||||
        #endif
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -10,8 +10,6 @@ struct TVNavigationView: View {
 | 
			
		||||
 | 
			
		||||
    @Default(.visibleSections) private var visibleSections
 | 
			
		||||
 | 
			
		||||
    @State private var playerInitialized = false
 | 
			
		||||
 | 
			
		||||
    var body: some View {
 | 
			
		||||
        NavigationView {
 | 
			
		||||
            TabView(selection: navigation.tabSelectionBinding) {
 | 
			
		||||
@@ -58,7 +56,6 @@ struct TVNavigationView: View {
 | 
			
		||||
                    .tag(TabSelection.settings)
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        .background(videoPlayerInitialize)
 | 
			
		||||
        .fullScreenCover(isPresented: $navigation.presentingAddToPlaylist) {
 | 
			
		||||
            if let video = navigation.videoToAddToPlaylist {
 | 
			
		||||
                AddToPlaylistView(video: video)
 | 
			
		||||
@@ -78,18 +75,6 @@ struct TVNavigationView: View {
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @ViewBuilder var videoPlayerInitialize: some View {
 | 
			
		||||
        if !playerInitialized {
 | 
			
		||||
            VideoPlayerView()
 | 
			
		||||
                .scaleEffect(0.00001)
 | 
			
		||||
                .onAppear {
 | 
			
		||||
                    DispatchQueue.main.asyncAfter(deadline: .now() + 1) {
 | 
			
		||||
                        playerInitialized = true
 | 
			
		||||
                    }
 | 
			
		||||
                }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
struct TVNavigationView_Previews: PreviewProvider {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user