Always trigger switch timeline on tab press

This will dismiss views

Changelog-Fixed: Fix bug where sometimes nested navigation views weren't dismissed when tapping the tab bar
Signed-off-by: William Casarin <jb55@jb55.com>
This commit is contained in:
William Casarin
2022-08-09 10:14:56 -07:00
parent f149368ac2
commit d223d045e8
2 changed files with 8 additions and 2 deletions

View File

@@ -311,13 +311,15 @@ struct ContentView: View {
}
func switch_timeline(_ timeline: Timeline) {
NotificationCenter.default.post(name: .switched_timeline, object: timeline)
if timeline == self.selected_timeline {
NotificationCenter.default.post(name: .scroll_to_top, object: nil)
return
}
self.selected_timeline = timeline
NotificationCenter.default.post(name: .switched_timeline, object: timeline)
//NotificationCenter.default.post(name: .switched_timeline, object: timeline)
//self.selected_timeline = timeline
}

View File

@@ -73,6 +73,8 @@ struct ProfileView: View {
@StateObject var profile: ProfileModel
@StateObject var followers: FollowersModel
@Environment(\.dismiss) var dismiss
//@EnvironmentObject var profile: ProfileModel
var DMButton: some View {
@@ -150,8 +152,10 @@ struct ProfileView: View {
}
.padding([.leading, .trailing], 6)
.frame(maxWidth: .infinity, alignment: .topLeading)
.navigationBarTitle("Profile")
.onReceive(handle_notify(.switched_timeline)) { _ in
dismiss()
}
.onAppear() {
profile.subscribe()
followers.subscribe()