Recommended relay view

Changelog-Changed: Show recommended relays in config. Currently just a fixed set.
This commit is contained in:
William Casarin
2022-12-29 16:08:00 -08:00
parent 3824e95f29
commit 14a3a352d6
7 changed files with 101 additions and 46 deletions
+29 -16
View File
@@ -44,26 +44,39 @@ struct RelayView: View {
}
.swipeActions {
if let privkey = state.keypair.privkey {
Button {
guard let ev = state.contacts.event else {
return
}
let descriptors = state.pool.descriptors
guard let new_ev = remove_relay( ev: ev, current_relays: descriptors, privkey: privkey, relay: relay) else {
return
}
state.contacts.event = new_ev
state.pool.send(.event(new_ev))
} label: {
Label("Delete", systemImage: "trash")
}
.tint(.red)
RemoveAction(privkey: privkey)
}
}
.contextMenu {
if let privkey = state.keypair.privkey {
RemoveAction(privkey: privkey)
}
}
}
func RemoveAction(privkey: String) -> some View {
Button {
guard let ev = state.contacts.event else {
return
}
let descriptors = state.pool.descriptors
guard let new_ev = remove_relay( ev: ev, current_relays: descriptors, privkey: privkey, relay: relay) else {
return
}
process_contact_event(pool: state.pool, contacts: state.contacts, pubkey: state.pubkey, ev: new_ev)
state.pool.send(.event(new_ev))
} label: {
Label("Delete", systemImage: "trash")
}
.tint(.red)
}
}
fileprivate func remove_action() {
}
struct RelayView_Previews: PreviewProvider {