Fix TabView loading new view on scroll
This commit is contained in:
@@ -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) {
|
||||||
|
|||||||
Reference in New Issue
Block a user