commit 15849e290e185d4340fd6338123d58e6922070bf
parent 6ed562ed24bf2dfa2aa17401101f9afcc56b295d
Author: Swift <scoder1747@gmail.com>
Date: Sun, 16 Apr 2023 00:48:49 -0400
Fixed repost turning green too early and not reposting sometimes
Changelog-Fixed: Fixed repost turning green too early and not reposting sometimes
Diffstat:
2 files changed, 10 insertions(+), 4 deletions(-)
diff --git a/damus/ContentView.swift b/damus/ContentView.swift
@@ -83,6 +83,7 @@ struct ContentView: View {
@State var filter_state : FilterState = .posts_and_replies
@State private var isSideBarOpened = false
@StateObject var home: HomeModel = HomeModel()
+ @State var shouldShowBoostAlert = false
// connect retry timer
let timer = Timer.publish(every: 4, on: .main, in: .common).autoconnect()
@@ -353,7 +354,10 @@ struct ContentView: View {
}
.onReceive(handle_notify(.boost)) { notif in
- current_boost = (notif.object as? NostrEvent)
+ if let ev = (notif.object as? NostrEvent) {
+ current_boost = ev
+ shouldShowBoostAlert = true
+ }
}
.onReceive(handle_notify(.reply)) { notif in
let ev = notif.object as! NostrEvent
@@ -583,7 +587,7 @@ struct ContentView: View {
Text("Could not find user to mute...", comment: "Alert message to indicate that the muted user could not be found.")
}
})
- .alert(NSLocalizedString("Repost", comment: "Title of alert for confirming to repost a post."), isPresented: $current_boost.mappedToBool()) {
+ .alert(NSLocalizedString("Repost", comment: "Title of alert for confirming to repost a post."), isPresented: $shouldShowBoostAlert) {
Button(NSLocalizedString("Cancel", comment: "Button to cancel out of reposting a post.")) {
current_boost = nil
}
diff --git a/damus/Views/ActionBar/EventActionBar.swift b/damus/Views/ActionBar/EventActionBar.swift
@@ -142,8 +142,10 @@ struct EventActionBar: View {
}
let boost = make_boost_event(pubkey: damus_state.keypair.pubkey, privkey: privkey, boosted: self.event)
-
- self.bar.our_boost = boost
+
+ // As we will still have to wait for the confirmation from alert for repost, we do not turn it green yet.
+ // However, turning green handled from EventActionBar spontaneously once reposted
+ // self.bar.our_boost = boost
notify(.boost, boost)
}