diff --git a/damus/Views/Muting/MutelistView.swift b/damus/Views/Muting/MutelistView.swift index 95f07d92..5783eb69 100644 --- a/damus/Views/Muting/MutelistView.swift +++ b/damus/Views/Muting/MutelistView.swift @@ -44,6 +44,9 @@ struct MutelistView: View { } } .navigationTitle(NSLocalizedString("Muted Users", comment: "Navigation title of view to see list of muted users.")) + .onAppear { + users = get_mutelist_users(damus_state.contacts.mutelist) + } } } diff --git a/damus/Views/Profile/ProfileView.swift b/damus/Views/Profile/ProfileView.swift index 9c07b12b..e56e4a54 100644 --- a/damus/Views/Profile/ProfileView.swift +++ b/damus/Views/Profile/ProfileView.swift @@ -205,8 +205,26 @@ struct ProfileView: View { notify(.report, target) } - Button(NSLocalizedString("Mute", comment: "Button to mute a profile."), role: .destructive) { - notify(.mute, profile.pubkey) + if damus_state.contacts.is_muted(profile.pubkey) { + Button(NSLocalizedString("Unmute", comment: "Button to unmute a profile.")) { + guard + let keypair = damus_state.keypair.to_full(), + let mutelist = damus_state.contacts.mutelist + else { + return + } + + guard let new_ev = remove_from_mutelist(keypair: keypair, prev: mutelist, to_remove: profile.pubkey) else { + return + } + + damus_state.contacts.set_mutelist(new_ev) + damus_state.postbox.send(new_ev) + } + } else { + Button(NSLocalizedString("Mute", comment: "Button to mute a profile."), role: .destructive) { + notify(.mute, profile.pubkey) + } } } }