commit d223d045e8c6634cf726b9a519935a9529fefd32
parent f149368ac26e6fda9e0921712e4e3393a35df984
Author: William Casarin <jb55@jb55.com>
Date: Tue, 9 Aug 2022 10:14:56 -0700
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>
Diffstat:
2 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/damus/ContentView.swift b/damus/ContentView.swift
@@ -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
}
diff --git a/damus/Views/ProfileView.swift b/damus/Views/ProfileView.swift
@@ -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()