From cdced03c2702a63a0e6255bc2a4d667e7bfb9fc9 Mon Sep 17 00:00:00 2001 From: Nathan Mattes Date: Tue, 23 Apr 2024 09:39:33 +0200 Subject: [PATCH] =?UTF-8?q?Fix=20=F0=9F=92=8A-Issues=20(#1278)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Remove pill after scrolling to top (#1275) * Don't show pill after switching timelines (#1275) --- .../HomeTimeline/HomeTimelineViewController.swift | 10 +++++++++- .../HomeTimelineViewModel+LoadLatestState.swift | 2 +- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/Mastodon/Scene/HomeTimeline/HomeTimelineViewController.swift b/Mastodon/Scene/HomeTimeline/HomeTimelineViewController.swift index 2e62a58c0..164f92c88 100644 --- a/Mastodon/Scene/HomeTimeline/HomeTimelineViewController.swift +++ b/Mastodon/Scene/HomeTimeline/HomeTimelineViewController.swift @@ -590,7 +590,15 @@ extension HomeTimelineViewController { return true } } - + + func scrollViewDidScroll(_ scrollView: UIScrollView) { + guard (scrollView.safeAreaInsets.top + scrollView.contentOffset.y) == 0 else { + return + } + + hideTimelinePill() + } + private func savePositionBeforeScrollToTop() { // check save action interval // should not fast than 0.5s to prevent save when scrollToTop on-flying diff --git a/Mastodon/Scene/HomeTimeline/HomeTimelineViewModel+LoadLatestState.swift b/Mastodon/Scene/HomeTimeline/HomeTimelineViewModel+LoadLatestState.swift index dddae7a85..bf343bc4d 100644 --- a/Mastodon/Scene/HomeTimeline/HomeTimelineViewModel+LoadLatestState.swift +++ b/Mastodon/Scene/HomeTimeline/HomeTimelineViewModel+LoadLatestState.swift @@ -160,7 +160,7 @@ extension HomeTimelineViewModel.LoadLatestState { FeedbackGenerator.shared.generate(.impact(.light)) } - if newStatuses.isNotEmpty { + if newStatuses.isNotEmpty && (previousState is HomeTimelineViewModel.LoadLatestState.ContextSwitch) == false { viewModel.hasNewPosts.value = true }