Enable offline posting

You can now post, like, repost, reply offline

Changelog-Added: Enable offline posting
This commit is contained in:
William Casarin
2023-03-31 15:14:55 -07:00
parent 915f3901a7
commit 2596542cb6
25 changed files with 196 additions and 31 deletions

View File

@@ -154,7 +154,7 @@ struct EventActionBar: View {
generator.impactOccurred()
damus_state.pool.send(.event(like_ev))
damus_state.postbox.send(like_ev)
}
}

View File

@@ -293,7 +293,7 @@ struct ConfigView: View {
}
let ev = created_deleted_account_profile(keypair: full_kp)
state.pool.send(.event(ev))
state.postbox.send(ev)
notify(.logout, ())
}
}

View File

@@ -130,7 +130,8 @@ struct DMChatView: View {
dms.draft = ""
damus_state.pool.send(.event(dm))
damus_state.postbox.send(dm)
end_editing()
}

View File

@@ -102,7 +102,7 @@ struct EditMetadataView: View {
let m_metadata_ev = make_metadata_event(keypair: damus_state.keypair, metadata: metadata)
if let metadata_ev = m_metadata_ev {
damus_state.pool.send(.event(metadata_ev))
damus_state.postbox.send(metadata_ev)
}
}

View File

@@ -26,7 +26,7 @@ struct MutelistView: View {
}
damus_state.contacts.set_mutelist(new_ev)
damus_state.pool.send(.event(new_ev))
damus_state.postbox.send(new_ev)
users = get_mutelist_users(new_ev)
} label: {
Label(NSLocalizedString("Delete", comment: "Button to remove a user from their blocklist."), systemImage: "trash")

View File

@@ -111,7 +111,7 @@ struct RecommendedRelayView: View {
return
}
process_contact_event(state: damus, ev: ev_after_add)
damus.pool.send(.event(ev_after_add))
damus.postbox.send(ev_after_add)
}
}

View File

@@ -46,7 +46,7 @@ struct RelayDetailView: View {
}
process_contact_event(state: state, ev: new_ev)
state.pool.send(.event(new_ev))
state.postbox.send(new_ev)
dismiss()
}) {
Text("Disconnect From Relay", comment: "Button to disconnect from the relay.")
@@ -60,7 +60,7 @@ struct RelayDetailView: View {
return
}
process_contact_event(state: state, ev: ev_after_add)
state.pool.send(.event(ev_after_add))
state.postbox.send(ev_after_add)
dismiss()
}) {
Text("Connect To Relay", comment: "Button to connect to the relay.")

View File

@@ -82,7 +82,7 @@ struct RelayView: View {
}
process_contact_event(state: state, ev: new_ev)
state.pool.send(.event(new_ev))
state.postbox.send(new_ev)
}) {
if showText {
Text(NSLocalizedString("Disconnect", comment: "Button to disconnect from a relay server."))

View File

@@ -8,7 +8,7 @@
import SwiftUI
struct ReportView: View {
let pool: RelayPool
let postbox: PostBox
let target: ReportTarget
let privkey: String
@@ -44,7 +44,7 @@ struct ReportView: View {
}
func do_send_report(type: ReportType) {
guard let ev = send_report(privkey: privkey, pool: pool, target: target, type: type) else {
guard let ev = send_report(privkey: privkey, postbox: postbox, target: target, type: type) else {
return
}
@@ -92,12 +92,12 @@ struct ReportView: View {
}
}
func send_report(privkey: String, pool: RelayPool, target: ReportTarget, type: ReportType) -> NostrEvent? {
func send_report(privkey: String, postbox: PostBox, target: ReportTarget, type: ReportType) -> NostrEvent? {
let report = Report(type: type, target: target, message: "")
guard let ev = create_report_event(privkey: privkey, report: report) else {
return nil
}
pool.send(.event(ev))
postbox.send(ev)
return ev
}
@@ -106,9 +106,9 @@ struct ReportView_Previews: PreviewProvider {
let ds = test_damus_state()
VStack {
ReportView(pool: ds.pool, target: ReportTarget.user(""), privkey: "")
ReportView(postbox: ds.postbox, target: ReportTarget.user(""), privkey: "")
ReportView(pool: ds.pool, target: ReportTarget.user(""), privkey: "", report_sent: true, report_id: "report_id")
ReportView(postbox: ds.postbox, target: ReportTarget.user(""), privkey: "", report_sent: true, report_id: "report_id")
}
}

View File

@@ -107,13 +107,13 @@ struct SaveKeysView: View {
switch wsev {
case .connected:
let metadata = create_account_to_metadata(account)
let m_metadata_ev = make_metadata_event(keypair: account.keypair, metadata: metadata)
let m_contacts_ev = make_first_contact_event(keypair: account.keypair)
let metadata_ev = make_metadata_event(keypair: account.keypair, metadata: metadata)
let contacts_ev = make_first_contact_event(keypair: account.keypair)
if let metadata_ev = m_metadata_ev {
if let metadata_ev {
self.pool.send(.event(metadata_ev))
}
if let contacts_ev = m_contacts_ev {
if let contacts_ev {
self.pool.send(.event(contacts_ev))
}
@@ -141,6 +141,8 @@ struct SaveKeysView: View {
print("event in signup?")
case .eose:
break
case .ok:
break
}
}
}