From 913fa4ba5b5afb3affda7f763910aedddad8086b Mon Sep 17 00:00:00 2001 From: Believethehype Date: Sun, 26 Mar 2023 21:24:13 +0200 Subject: [PATCH] Show follow back on profile when profile already follows user --- .../com/vitorpamplona/amethyst/ui/note/UserCompose.kt | 2 +- .../vitorpamplona/amethyst/ui/note/ZapNoteCompose.kt | 2 +- .../amethyst/ui/screen/loggedIn/HashtagScreen.kt | 2 +- .../amethyst/ui/screen/loggedIn/ProfileScreen.kt | 10 +++++++--- app/src/main/res/values/strings.xml | 1 + 5 files changed, 11 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/com/vitorpamplona/amethyst/ui/note/UserCompose.kt b/app/src/main/java/com/vitorpamplona/amethyst/ui/note/UserCompose.kt index 51bd3d392..ebcaca546 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/ui/note/UserCompose.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/ui/note/UserCompose.kt @@ -75,7 +75,7 @@ fun UserCompose(baseUser: User, accountViewModel: AccountViewModel, navControlle } else if (userFollows.isFollowingCached(baseUser)) { UnfollowButton { coroutineScope.launch(Dispatchers.IO) { account.unfollow(baseUser) } } } else { - FollowButton { coroutineScope.launch(Dispatchers.IO) { account.follow(baseUser) } } + FollowButton({ coroutineScope.launch(Dispatchers.IO) { account.follow(baseUser) } }) } } } 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 dde2a8698..9801bf21c 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 @@ -120,7 +120,7 @@ fun ZapNoteCompose(baseNote: Pair, accountViewModel: AccountViewMode } else if (userFollows.isFollowingCached(baseAuthor)) { UnfollowButton { coroutineScope.launch(Dispatchers.IO) { account.unfollow(baseAuthor) } } } else { - FollowButton { coroutineScope.launch(Dispatchers.IO) { account.follow(baseAuthor) } } + FollowButton({ coroutineScope.launch(Dispatchers.IO) { account.follow(baseAuthor) } }) } } } diff --git a/app/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/HashtagScreen.kt b/app/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/HashtagScreen.kt index f81a10fd6..b2cd429e8 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/HashtagScreen.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/HashtagScreen.kt @@ -111,7 +111,7 @@ fun HashtagHeader(tag: String, account: Account) { if (userFollows.isFollowingHashtagCached(tag)) { UnfollowButton { coroutineScope.launch(Dispatchers.IO) { account.unfollow(tag) } } } else { - FollowButton { coroutineScope.launch(Dispatchers.IO) { account.follow(tag) } } + FollowButton({ coroutineScope.launch(Dispatchers.IO) { account.follow(tag) } }) } } } diff --git a/app/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/ProfileScreen.kt b/app/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/ProfileScreen.kt index 03a1b40d3..82d515f7e 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/ProfileScreen.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/ProfileScreen.kt @@ -389,7 +389,11 @@ private fun ProfileHeader( } else if (accountUser.isFollowingCached(baseUser)) { UnfollowButton { coroutineScope.launch(Dispatchers.IO) { account.unfollow(baseUser) } } } else { - FollowButton { coroutineScope.launch(Dispatchers.IO) { account.follow(baseUser) } } + if (baseUser.isFollowingCached(accountUser)) { + FollowButton({ coroutineScope.launch(Dispatchers.IO) { account.follow(baseUser) } }, R.string.follow_back) + } else { + FollowButton({ coroutineScope.launch(Dispatchers.IO) { account.follow(baseUser) } }, R.string.follow) + } } } } @@ -949,7 +953,7 @@ fun UnfollowButton(onClick: () -> Unit) { } @Composable -fun FollowButton(onClick: () -> Unit) { +fun FollowButton(onClick: () -> Unit, text: Int = R.string.follow) { Button( modifier = Modifier.padding(start = 3.dp), onClick = onClick, @@ -960,7 +964,7 @@ fun FollowButton(onClick: () -> Unit) { ), contentPadding = PaddingValues(vertical = 6.dp, horizontal = 16.dp) ) { - Text(text = stringResource(R.string.follow), color = Color.White, textAlign = TextAlign.Center) + Text(text = stringResource(text), color = Color.White, textAlign = TextAlign.Center) } } diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 4e0428a04..ec1b86a99 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -122,6 +122,7 @@ Send a Direct Message Edits the User\'s Metadata Follow + Follow back Unblock Copy User ID Unblock User