From c223c1372bb68e9800ff58635f4f8f9dad05f0af Mon Sep 17 00:00:00 2001 From: greenart7c3 Date: Mon, 28 Aug 2023 14:31:20 -0300 Subject: [PATCH] add support for amber in the follow dropdown menu --- .../amethyst/ui/note/NoteQuickActionMenu.kt | 6 ++++-- .../amethyst/ui/note/UserProfilePicture.kt | 14 +++++++++----- .../amethyst/ui/note/ZapNoteCompose.kt | 2 +- .../ui/screen/loggedIn/AccountViewModel.kt | 5 +++-- 4 files changed, 17 insertions(+), 10 deletions(-) diff --git a/app/src/main/java/com/vitorpamplona/amethyst/ui/note/NoteQuickActionMenu.kt b/app/src/main/java/com/vitorpamplona/amethyst/ui/note/NoteQuickActionMenu.kt index 4069b1621..e86582f45 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/ui/note/NoteQuickActionMenu.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/ui/note/NoteQuickActionMenu.kt @@ -325,8 +325,10 @@ private fun RenderMainPopup( stringResource(R.string.quick_action_follow) ) { scope.launch(Dispatchers.IO) { - accountViewModel.follow(note.author!!) - onDismiss() + event = accountViewModel.follow(note.author!!, !accountViewModel.loggedInWithAmber()) + if (!accountViewModel.loggedInWithAmber()) { + onDismiss() + } } } } diff --git a/app/src/main/java/com/vitorpamplona/amethyst/ui/note/UserProfilePicture.kt b/app/src/main/java/com/vitorpamplona/amethyst/ui/note/UserProfilePicture.kt index 054e0a3ee..b023f8162 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/ui/note/UserProfilePicture.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/ui/note/UserProfilePicture.kt @@ -416,11 +416,15 @@ fun NoteDropDownMenu(note: Note, popupExpanded: MutableState, accountVi } if (!state.isFollowingAuthor) { - DropdownMenuItem(onClick = { - accountViewModel.follow( - note.author ?: return@DropdownMenuItem - ); onDismiss() - }) { + DropdownMenuItem( + onClick = { + val author = note.author ?: return@DropdownMenuItem + event = accountViewModel.follow(author, !accountViewModel.loggedInWithAmber()) + if (!accountViewModel.loggedInWithAmber()) { + onDismiss() + } + } + ) { Text(stringResource(R.string.follow)) } Divider() diff --git a/app/src/main/java/com/vitorpamplona/amethyst/ui/note/ZapNoteCompose.kt b/app/src/main/java/com/vitorpamplona/amethyst/ui/note/ZapNoteCompose.kt index 29f7b3e0a..e5443107b 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/ui/note/ZapNoteCompose.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/ui/note/ZapNoteCompose.kt @@ -269,7 +269,7 @@ fun ShowFollowingOrUnfollowingButton( } } else { scope.launch(Dispatchers.IO) { - accountViewModel.follow(baseAuthor) + accountViewModel.follow(baseAuthor, true) } } } diff --git a/app/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/AccountViewModel.kt b/app/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/AccountViewModel.kt index 5e3742b42..2c13780db 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/AccountViewModel.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/AccountViewModel.kt @@ -30,6 +30,7 @@ import com.vitorpamplona.amethyst.ui.note.ZapraiserStatus import com.vitorpamplona.amethyst.ui.note.showAmount import com.vitorpamplona.quartz.encoders.HexKey import com.vitorpamplona.quartz.events.BookmarkListEvent +import com.vitorpamplona.quartz.events.ContactListEvent import com.vitorpamplona.quartz.events.DeletionEvent import com.vitorpamplona.quartz.events.Event import com.vitorpamplona.quartz.events.GiftWrapEvent @@ -375,8 +376,8 @@ class AccountViewModel(val account: Account) : ViewModel() { account.prefer(source, target, preference) } - fun follow(user: User) { - account.follow(user) + fun follow(user: User, signEvent: Boolean): ContactListEvent? { + return account.follow(user, signEvent) } fun unfollow(user: User) {