Fix FollowUserView not allowing profile tapping
This commit is contained in:
committed by
William Casarin
parent
a76ddea7da
commit
58a707685c
@@ -57,6 +57,7 @@ enum Route: Hashable {
|
||||
RelayDetailView(state: damusState, relay: relay, nip11: metadata)
|
||||
case .Following(let following):
|
||||
FollowingView(damus_state: damusState, following: following)
|
||||
.environmentObject(navigationCordinator)
|
||||
case .MuteList(let users):
|
||||
MutelistView(damus_state: damusState, users: users)
|
||||
case .RelayConfig:
|
||||
@@ -88,8 +89,10 @@ enum Route: Hashable {
|
||||
ThreadView(state: damusState, thread: thread)
|
||||
case .Reposts(let reposts):
|
||||
RepostsView(damus_state: damusState, model: reposts)
|
||||
.environmentObject(navigationCordinator)
|
||||
case .Reactions(let reactions):
|
||||
ReactionsView(damus_state: damusState, model: reactions)
|
||||
.environmentObject(navigationCordinator)
|
||||
case .Zaps(let target):
|
||||
ZapsView(state: damusState, target: target)
|
||||
case .Search(let search):
|
||||
|
||||
@@ -10,12 +10,16 @@ import SwiftUI
|
||||
struct FollowUserView: View {
|
||||
let target: FollowTarget
|
||||
let damus_state: DamusState
|
||||
@EnvironmentObject var navigationCoordinator: NavigationCoordinator
|
||||
|
||||
static let markdown = Markdown()
|
||||
|
||||
var body: some View {
|
||||
HStack {
|
||||
UserViewRow(damus_state: damus_state, pubkey: target.pubkey)
|
||||
.onTapGesture {
|
||||
navigationCoordinator.push(route: Route.ProfileByKey(pubkey: target.pubkey))
|
||||
}
|
||||
|
||||
FollowButtonView(target: target, follows_you: false, follow_state: damus_state.contacts.follow_state(target.pubkey))
|
||||
}
|
||||
@@ -46,12 +50,14 @@ struct FollowersView: View {
|
||||
let damus_state: DamusState
|
||||
|
||||
@EnvironmentObject var followers: FollowersModel
|
||||
@EnvironmentObject var navigationCoordinator: NavigationCoordinator
|
||||
|
||||
var body: some View {
|
||||
ScrollView {
|
||||
LazyVStack(alignment: .leading) {
|
||||
ForEach(followers.contacts ?? [], id: \.self) { pk in
|
||||
FollowUserView(target: .pubkey(pk), damus_state: damus_state)
|
||||
.environmentObject(navigationCoordinator)
|
||||
}
|
||||
}
|
||||
.padding(.horizontal)
|
||||
@@ -70,12 +76,15 @@ struct FollowingView: View {
|
||||
let damus_state: DamusState
|
||||
|
||||
let following: FollowingModel
|
||||
|
||||
@EnvironmentObject var navigationCoordinator: NavigationCoordinator
|
||||
|
||||
var body: some View {
|
||||
ScrollView {
|
||||
LazyVStack(alignment: .leading) {
|
||||
ForEach(following.contacts.reversed(), id: \.self) { pk in
|
||||
FollowUserView(target: .pubkey(pk), damus_state: damus_state)
|
||||
.environmentObject(navigationCoordinator)
|
||||
}
|
||||
}
|
||||
.padding()
|
||||
|
||||
@@ -10,6 +10,7 @@ import SwiftUI
|
||||
struct ReactionView: View {
|
||||
let damus_state: DamusState
|
||||
let reaction: NostrEvent
|
||||
@EnvironmentObject var navigationCoordinator: NavigationCoordinator
|
||||
|
||||
var content: String {
|
||||
return to_reaction_emoji(ev: reaction) ?? ""
|
||||
@@ -22,6 +23,7 @@ struct ReactionView: View {
|
||||
.frame(width: 50, height: 50)
|
||||
|
||||
FollowUserView(target: .pubkey(reaction.pubkey), damus_state: damus_state)
|
||||
.environmentObject(navigationCoordinator)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,6 +10,7 @@ import SwiftUI
|
||||
struct ReactionsView: View {
|
||||
let damus_state: DamusState
|
||||
@StateObject var model: ReactionsModel
|
||||
@EnvironmentObject var navigationCoordinator: NavigationCoordinator
|
||||
|
||||
@Environment(\.dismiss) var dismiss
|
||||
|
||||
@@ -18,6 +19,7 @@ struct ReactionsView: View {
|
||||
LazyVStack {
|
||||
ForEach(model.events, id: \.id) { ev in
|
||||
ReactionView(damus_state: damus_state, reaction: ev)
|
||||
.environmentObject(navigationCoordinator)
|
||||
}
|
||||
}
|
||||
.padding()
|
||||
|
||||
@@ -10,9 +10,11 @@ import SwiftUI
|
||||
struct RepostView: View {
|
||||
let damus_state: DamusState
|
||||
let repost: NostrEvent
|
||||
@EnvironmentObject var navigationCoordinator: NavigationCoordinator
|
||||
|
||||
var body: some View {
|
||||
FollowUserView(target: .pubkey(repost.pubkey), damus_state: damus_state)
|
||||
.environmentObject(navigationCoordinator)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -10,12 +10,14 @@ import SwiftUI
|
||||
struct RepostsView: View {
|
||||
let damus_state: DamusState
|
||||
@StateObject var model: RepostsModel
|
||||
@EnvironmentObject var navigationCoordinator: NavigationCoordinator
|
||||
|
||||
var body: some View {
|
||||
ScrollView {
|
||||
LazyVStack {
|
||||
ForEach(model.events, id: \.id) { ev in
|
||||
RepostView(damus_state: damus_state, repost: ev)
|
||||
.environmentObject(navigationCoordinator)
|
||||
}
|
||||
}
|
||||
.padding()
|
||||
|
||||
@@ -24,6 +24,7 @@ struct SearchingEventView: View {
|
||||
let state: DamusState
|
||||
let evid: String
|
||||
let search_type: SearchType
|
||||
@EnvironmentObject var navigationCoordinator: NavigationCoordinator
|
||||
|
||||
@State var search_state: SearchState = .searching
|
||||
|
||||
@@ -107,6 +108,7 @@ struct SearchingEventView: View {
|
||||
case .found_profile(let pk):
|
||||
NavigationLink(value: Route.ProfileByKey(pubkey: pk)) {
|
||||
FollowUserView(target: .pubkey(pk), damus_state: state)
|
||||
.environmentObject(navigationCoordinator)
|
||||
}
|
||||
.buttonStyle(PlainButtonStyle())
|
||||
case .not_found:
|
||||
|
||||
@@ -78,6 +78,7 @@ struct SearchHomeView: View {
|
||||
|
||||
var SearchContent: some View {
|
||||
SearchResultsView(damus_state: damus_state, search: $search)
|
||||
.environmentObject(navigationCoordinator)
|
||||
.refreshable {
|
||||
// Fetch new information by unsubscribing and resubscribing to the relay
|
||||
model.unsubscribe()
|
||||
|
||||
@@ -37,9 +37,11 @@ enum Search: Identifiable {
|
||||
struct InnerSearchResults: View {
|
||||
let damus_state: DamusState
|
||||
let search: Search?
|
||||
@EnvironmentObject var navigationCoordinator: NavigationCoordinator
|
||||
|
||||
func ProfileSearchResult(pk: String) -> some View {
|
||||
FollowUserView(target: .pubkey(pk), damus_state: damus_state)
|
||||
.environmentObject(navigationCoordinator)
|
||||
}
|
||||
|
||||
func HashtagSearch(_ ht: String) -> some View {
|
||||
@@ -68,6 +70,7 @@ struct InnerSearchResults: View {
|
||||
|
||||
case .nip05(let addr):
|
||||
SearchingEventView(state: damus_state, evid: addr, search_type: .nip05)
|
||||
.environmentObject(navigationCoordinator)
|
||||
|
||||
case .profile(let prof):
|
||||
let decoded = try? bech32_decode(prof)
|
||||
@@ -106,10 +109,12 @@ struct SearchResultsView: View {
|
||||
let damus_state: DamusState
|
||||
@Binding var search: String
|
||||
@State var result: Search? = nil
|
||||
@EnvironmentObject var navigationCoordinator: NavigationCoordinator
|
||||
|
||||
var body: some View {
|
||||
ScrollView {
|
||||
InnerSearchResults(damus_state: damus_state, search: result)
|
||||
.environmentObject(navigationCoordinator)
|
||||
.padding()
|
||||
}
|
||||
.frame(maxHeight: .infinity)
|
||||
|
||||
Reference in New Issue
Block a user