mirror of
				https://github.com/yattee/yattee.git
				synced 2025-11-04 14:42:05 +00:00 
			
		
		
		
	Fix URL handling on macOS
This commit is contained in:
		@@ -131,10 +131,6 @@ struct ContentView: View {
 | 
			
		||||
 | 
			
		||||
            NavigationModel.shared.presentingOpenVideos = false
 | 
			
		||||
        }
 | 
			
		||||
        .onOpenURL { url in
 | 
			
		||||
            URLBookmarkModel.shared.saveBookmark(url)
 | 
			
		||||
            OpenURLHandler(navigationStyle: navigationStyle).handle(url)
 | 
			
		||||
        }
 | 
			
		||||
        .background(
 | 
			
		||||
            EmptyView().sheet(isPresented: $navigation.presentingAddToPlaylist) {
 | 
			
		||||
                AddToPlaylistView(video: navigation.videoToAddToPlaylist)
 | 
			
		||||
@@ -173,16 +169,6 @@ struct ContentView: View {
 | 
			
		||||
        #endif
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    var navigationStyle: NavigationStyle {
 | 
			
		||||
        #if os(iOS)
 | 
			
		||||
            return horizontalSizeClass == .compact ? .tab : .sidebar
 | 
			
		||||
        #elseif os(tvOS)
 | 
			
		||||
            return .tab
 | 
			
		||||
        #else
 | 
			
		||||
            return .sidebar
 | 
			
		||||
        #endif
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @ViewBuilder var videoPlayer: some View {
 | 
			
		||||
        if player.presentingPlayer {
 | 
			
		||||
            playerView
 | 
			
		||||
@@ -199,7 +185,6 @@ struct ContentView: View {
 | 
			
		||||
 | 
			
		||||
    var playerView: some View {
 | 
			
		||||
        VideoPlayerView()
 | 
			
		||||
            .environment(\.navigationStyle, navigationStyle)
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -28,6 +28,7 @@ struct YatteeApp: App {
 | 
			
		||||
        @NSApplicationDelegateAdaptor(AppDelegate.self) var appDelegate
 | 
			
		||||
    #elseif os(iOS)
 | 
			
		||||
        @UIApplicationDelegateAdaptor(AppDelegate.self) var appDelegate
 | 
			
		||||
        @Environment(\.horizontalSizeClass) private var horizontalSizeClass
 | 
			
		||||
    #endif
 | 
			
		||||
 | 
			
		||||
    @State private var configured = false
 | 
			
		||||
@@ -55,6 +56,7 @@ struct YatteeApp: App {
 | 
			
		||||
            ContentView()
 | 
			
		||||
                .onAppear(perform: configure)
 | 
			
		||||
                .environment(\.managedObjectContext, persistenceController.container.viewContext)
 | 
			
		||||
                .environment(\.navigationStyle, navigationStyle)
 | 
			
		||||
            #if os(macOS)
 | 
			
		||||
                .background(
 | 
			
		||||
                    HostingWindowFinder { window in
 | 
			
		||||
@@ -76,6 +78,12 @@ struct YatteeApp: App {
 | 
			
		||||
            #if os(iOS)
 | 
			
		||||
            .handlesExternalEvents(preferring: Set(["*"]), allowing: Set(["*"]))
 | 
			
		||||
            #endif
 | 
			
		||||
            #if !os(tvOS)
 | 
			
		||||
            .onOpenURL { url in
 | 
			
		||||
                URLBookmarkModel.shared.saveBookmark(url)
 | 
			
		||||
                OpenURLHandler(navigationStyle: navigationStyle).handle(url)
 | 
			
		||||
            }
 | 
			
		||||
            #endif
 | 
			
		||||
        }
 | 
			
		||||
        #if os(iOS)
 | 
			
		||||
        .handlesExternalEvents(matching: Set(["*"]))
 | 
			
		||||
@@ -114,6 +122,10 @@ struct YatteeApp: App {
 | 
			
		||||
                    .environment(\.managedObjectContext, persistenceController.container.viewContext)
 | 
			
		||||
                    .environment(\.navigationStyle, .sidebar)
 | 
			
		||||
                    .handlesExternalEvents(preferring: Set(["player", "*"]), allowing: Set(["player", "*"]))
 | 
			
		||||
                    .onOpenURL { url in
 | 
			
		||||
                        URLBookmarkModel.shared.saveBookmark(url)
 | 
			
		||||
                        OpenURLHandler(navigationStyle: navigationStyle).handle(url)
 | 
			
		||||
                    }
 | 
			
		||||
            }
 | 
			
		||||
            .handlesExternalEvents(matching: Set(["player", "*"]))
 | 
			
		||||
 | 
			
		||||
@@ -200,4 +212,14 @@ struct YatteeApp: App {
 | 
			
		||||
 | 
			
		||||
        Defaults[.homeHistoryItems] = -1
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    var navigationStyle: NavigationStyle {
 | 
			
		||||
        #if os(iOS)
 | 
			
		||||
            return horizontalSizeClass == .compact ? .tab : .sidebar
 | 
			
		||||
        #elseif os(tvOS)
 | 
			
		||||
            return .tab
 | 
			
		||||
        #else
 | 
			
		||||
            return .sidebar
 | 
			
		||||
        #endif
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user