diff --git a/Swiftfin tvOS/Views/ItemView/Components/EpisodeSelector/Components/HStacks/EpisodeHStack.swift b/Swiftfin tvOS/Views/ItemView/Components/EpisodeSelector/Components/HStacks/EpisodeHStack.swift index 3f7ac053..f91f8e08 100644 --- a/Swiftfin tvOS/Views/ItemView/Components/EpisodeSelector/Components/HStacks/EpisodeHStack.swift +++ b/Swiftfin tvOS/Views/ItemView/Components/EpisodeSelector/Components/HStacks/EpisodeHStack.swift @@ -58,7 +58,7 @@ extension SeriesEpisodeSelector { DispatchQueue.main.asyncAfter(deadline: .now() + 0.1) { guard let playButtonItem else { return } - proxy.scrollTo(element: playButtonItem, animated: false) + proxy.scrollTo(id: playButtonItem.unwrappedIDHashOrZero, animated: false) } } } diff --git a/Swiftfin.xcodeproj/project.pbxproj b/Swiftfin.xcodeproj/project.pbxproj index fb1c73b7..c4383d21 100644 --- a/Swiftfin.xcodeproj/project.pbxproj +++ b/Swiftfin.xcodeproj/project.pbxproj @@ -7922,16 +7922,16 @@ isa = XCRemoteSwiftPackageReference; repositoryURL = "https://github.com/LePips/CollectionVGrid"; requirement = { - branch = main; - kind = branch; + kind = revision; + revision = 70db2318ce64d49aa8b536e0623b96cb323fbdf1; }; }; E1A09F732D05935100835265 /* XCRemoteSwiftPackageReference "CollectionHStack" */ = { isa = XCRemoteSwiftPackageReference; repositoryURL = "https://github.com/LePips/CollectionHStack"; requirement = { - branch = main; - kind = branch; + kind = revision; + revision = 03dc666e8b20ec216fda60f55ccc0eeaabbc5fad; }; }; E1DC9812296DC06200982F06 /* XCRemoteSwiftPackageReference "PulseLogHandler" */ = { diff --git a/Swiftfin.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved b/Swiftfin.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved index ebea65da..606d4228 100644 --- a/Swiftfin.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ b/Swiftfin.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -1,5 +1,5 @@ { - "originHash" : "59e91adc6b66cec011d85f8b5356b72b51a6e772e85bad7fbeac490d39e91f45", + "originHash" : "44d87a45bd21720bc457afc9350e1268808e629c432ce75d0e6c4c26ce3b67ce", "pins" : [ { "identity" : "blurhashkit", @@ -24,8 +24,7 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/LePips/CollectionHStack", "state" : { - "branch" : "main", - "revision" : "00beb78cc570ee1014a92eb1cd7a60c099bce5ec" + "revision" : "03dc666e8b20ec216fda60f55ccc0eeaabbc5fad" } }, { @@ -33,8 +32,7 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/LePips/CollectionVGrid", "state" : { - "branch" : "main", - "revision" : "4b1591321339481756af6157c9205051d7fe3040" + "revision" : "70db2318ce64d49aa8b536e0623b96cb323fbdf1" } }, { diff --git a/Swiftfin/Views/ItemView/Components/EpisodeSelector/Components/EpisodeHStack.swift b/Swiftfin/Views/ItemView/Components/EpisodeSelector/Components/EpisodeHStack.swift index f56b86c6..ec230a3a 100644 --- a/Swiftfin/Views/ItemView/Components/EpisodeSelector/Components/EpisodeHStack.swift +++ b/Swiftfin/Views/ItemView/Components/EpisodeSelector/Components/EpisodeHStack.swift @@ -47,7 +47,7 @@ extension SeriesEpisodeSelector { // good enough? DispatchQueue.main.asyncAfter(deadline: .now() + 0.1) { guard let playButtonItem else { return } - proxy.scrollTo(element: playButtonItem, animated: false) + proxy.scrollTo(id: playButtonItem.unwrappedIDHashOrZero, animated: false) } } } diff --git a/Swiftfin/Views/VideoPlayer/Overlays/ChapterOverlay.swift b/Swiftfin/Views/VideoPlayer/Overlays/ChapterOverlay.swift index b53bfb30..20d3f9c5 100644 --- a/Swiftfin/Views/VideoPlayer/Overlays/ChapterOverlay.swift +++ b/Swiftfin/Views/VideoPlayer/Overlays/ChapterOverlay.swift @@ -62,7 +62,7 @@ extension VideoPlayer.Overlay { Button { if let currentChapter = viewModel.chapter(from: currentProgressHandler.seconds) { - collectionHStackProxy.scrollTo(element: currentChapter) + collectionHStackProxy.scrollTo(id: currentChapter.unwrappedIDHashOrZero) } } label: { Text(L10n.current) @@ -75,6 +75,7 @@ extension VideoPlayer.Overlay { CollectionHStack( uniqueElements: viewModel.chapters, + id: \.unwrappedIDHashOrZero, minWidth: 200 ) { chapter in ChapterButton(chapter: chapter) @@ -85,7 +86,7 @@ extension VideoPlayer.Overlay { guard newValue == .chapters else { return } if let currentChapter = viewModel.chapter(from: currentProgressHandler.seconds) { - collectionHStackProxy.scrollTo(element: currentChapter, animated: false) + collectionHStackProxy.scrollTo(id: currentChapter, animated: false) } } .trackingSize($size)