Fix TabView loading new view on scroll

This commit is contained in:
OlegAba
2023-01-06 13:07:53 -05:00
committed by William Casarin
parent d878ff6fdb
commit 5f22a7691f

View File

@@ -93,9 +93,9 @@ struct ContentView: View {
var PostingTimelineView: some View { var PostingTimelineView: some View {
VStack { VStack {
TabView(selection: $filter_state) { TabView(selection: $filter_state) {
ContentTimelineView contentTimelineView(filter: posts_filter_event)
.tag(FilterState.posts) .tag(FilterState.posts)
ContentTimelineView contentTimelineView(filter: posts_and_replies_filter_event)
.tag(FilterState.posts_and_replies) .tag(FilterState.posts_and_replies)
} }
.tabViewStyle(.page(indexDisplayMode: .never)) .tabViewStyle(.page(indexDisplayMode: .never))
@@ -113,10 +113,10 @@ struct ContentView: View {
.ignoresSafeArea(.keyboard) .ignoresSafeArea(.keyboard)
} }
var ContentTimelineView: some View { func contentTimelineView(filter: (@escaping (NostrEvent) -> Bool)) -> some View {
ZStack { ZStack {
if let damus = self.damus_state { if let damus = self.damus_state {
TimelineView(events: $home.events, loading: $home.loading, damus: damus, show_friend_icon: false, filter: filter_event) TimelineView(events: $home.events, loading: $home.loading, damus: damus, show_friend_icon: false, filter: filter)
} }
if privkey != nil { if privkey != nil {
PostButtonContainer { PostButtonContainer {
@@ -126,6 +126,14 @@ struct ContentView: View {
} }
} }
func posts_and_replies_filter_event(_ ev: NostrEvent) -> Bool {
return true
}
func posts_filter_event(_ ev: NostrEvent) -> Bool {
return !ev.is_reply(nil)
}
var FiltersView: some View { var FiltersView: some View {
VStack{ VStack{
Picker("Filter State", selection: $filter_state) { Picker("Filter State", selection: $filter_state) {
@@ -136,14 +144,6 @@ struct ContentView: View {
} }
} }
func filter_event(_ ev: NostrEvent) -> Bool {
if self.filter_state == .posts {
return !ev.is_reply(nil)
}
return true
}
func MainContent(damus: DamusState) -> some View { func MainContent(damus: DamusState) -> some View {
VStack { VStack {
NavigationLink(destination: MaybeProfileView, isActive: $profile_open) { NavigationLink(destination: MaybeProfileView, isActive: $profile_open) {