diff --git a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/bookmarkgroups/list/BookmarkGroupItem.kt b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/bookmarkgroups/list/BookmarkGroupItem.kt index 787241b0b..fe042574e 100644 --- a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/bookmarkgroups/list/BookmarkGroupItem.kt +++ b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/bookmarkgroups/list/BookmarkGroupItem.kt @@ -32,8 +32,6 @@ import androidx.compose.foundation.layout.offset import androidx.compose.material.icons.Icons import androidx.compose.material.icons.automirrored.outlined.Article import androidx.compose.material.icons.outlined.CollectionsBookmark -import androidx.compose.material.icons.outlined.Lock -import androidx.compose.material.icons.outlined.Public import androidx.compose.material3.AlertDialog import androidx.compose.material3.Button import androidx.compose.material3.DropdownMenu @@ -70,6 +68,7 @@ import com.vitorpamplona.amethyst.ui.theme.Size40Modifier import com.vitorpamplona.amethyst.ui.theme.Size5dp import com.vitorpamplona.amethyst.ui.theme.SpacedBy2dp import com.vitorpamplona.amethyst.ui.theme.SpacedBy5dp +import com.vitorpamplona.amethyst.ui.theme.StdVertSpacer @Composable fun BookmarkGroupItem( @@ -135,13 +134,12 @@ fun BookmarkGroupItem( contentDescription = stringRes(R.string.bookmark_list_icon_label), modifier = Size40Modifier, ) - // TODO: Fix the component below, with per-category stats -// Spacer(StdVertSpacer) -// BookmarkMembershipStatusAndNumberDisplay( -// modifier = Modifier.align(Alignment.CenterHorizontally), -// privateBookmarksSize = bookmarkList.privateBookmarks.size, -// publicBookmarksSize = bookmarkList.publicBookmarks.size, -// ) + Spacer(StdVertSpacer) + BookmarkMembershipStatusAndNumberDisplay( + modifier = Modifier.align(Alignment.CenterHorizontally), + postBookmarksSize = bookmarkList.publicPostBookmarks.size + bookmarkList.privatePostBookmarks.size, + articleBookmarksSize = bookmarkList.publicArticleBookmarks.size + bookmarkList.privateArticleBookmarks.size, + ) } }, ) @@ -193,49 +191,49 @@ private fun BookmarkGroupActions( @Composable fun BookmarkMembershipStatusAndNumberDisplay( - modifier: Modifier, - privateBookmarksSize: Int, - publicBookmarksSize: Int, + modifier: Modifier = Modifier, + postBookmarksSize: Int, + articleBookmarksSize: Int, ) { Row( modifier = modifier.offset(y = (-5).dp), verticalAlignment = Alignment.CenterVertically, horizontalArrangement = SpacedBy5dp, ) { - if (privateBookmarksSize <= 0 && publicBookmarksSize <= 0) { + if (postBookmarksSize <= 0 && articleBookmarksSize <= 0) { Text( text = stringRes(R.string.follow_set_empty_label2), fontSize = Font10SP, ) } else { - if (privateBookmarksSize > 0) { + if (postBookmarksSize > 0) { Row( verticalAlignment = Alignment.CenterVertically, horizontalArrangement = SpacedBy2dp, ) { Icon( - imageVector = Icons.Outlined.Lock, + painter = painterResource(R.drawable.post), modifier = Size10Modifier, contentDescription = null, ) Text( - text = privateBookmarksSize.toString(), + text = postBookmarksSize.toString(), fontSize = Font10SP, ) } } - if (publicBookmarksSize > 0) { + if (articleBookmarksSize > 0) { Row( verticalAlignment = Alignment.CenterVertically, horizontalArrangement = SpacedBy2dp, ) { Icon( - imageVector = Icons.Outlined.Public, + imageVector = Icons.AutoMirrored.Outlined.Article, modifier = Size10Modifier, contentDescription = null, ) Text( - text = publicBookmarksSize.toString(), + text = articleBookmarksSize.toString(), fontSize = Font10SP, ) } diff --git a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/bookmarkgroups/membershipManagement/ArticleBookmarkListManagementScreen.kt b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/bookmarkgroups/membershipManagement/ArticleBookmarkListManagementScreen.kt index 82f697fb0..ec36b977e 100644 --- a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/bookmarkgroups/membershipManagement/ArticleBookmarkListManagementScreen.kt +++ b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/bookmarkgroups/membershipManagement/ArticleBookmarkListManagementScreen.kt @@ -110,6 +110,8 @@ private fun ListManagementView( listTitle = bookmarkList.title, isPublicMemberBookmark = maybePublicBookmark != null, isPrivateMemberBookmark = maybePrivateBookmark != null, + totalPostBookmarkSize = bookmarkList.publicPostBookmarks.size + bookmarkList.privatePostBookmarks.size, + totalArticleBookmarkSize = bookmarkList.publicArticleBookmarks.size + bookmarkList.privateArticleBookmarks.size, onClick = { nav.nav(Route.BookmarkGroupView(bookmarkList.identifier, BookmarkType.ArticleBookmark)) }, onAddBookmarkToGroup = { shouldBePrivate -> accountViewModel.launchSigner { diff --git a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/bookmarkgroups/membershipManagement/BookmarkGroupManagementItem.kt b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/bookmarkgroups/membershipManagement/BookmarkGroupManagementItem.kt index ae084ac4d..fd7b36c52 100644 --- a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/bookmarkgroups/membershipManagement/BookmarkGroupManagementItem.kt +++ b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/bookmarkgroups/membershipManagement/BookmarkGroupManagementItem.kt @@ -23,9 +23,9 @@ package com.vitorpamplona.amethyst.ui.screen.loggedIn.bookmarkgroups.membershipM import androidx.compose.foundation.background import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.Arrangement -import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.material.icons.Icons import androidx.compose.material.icons.filled.BookmarkAdd @@ -48,11 +48,13 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.text.style.TextOverflow import com.vitorpamplona.amethyst.R +import com.vitorpamplona.amethyst.ui.screen.loggedIn.bookmarkgroups.list.BookmarkMembershipStatusAndNumberDisplay import com.vitorpamplona.amethyst.ui.stringRes import com.vitorpamplona.amethyst.ui.theme.HalfHalfVertPadding import com.vitorpamplona.amethyst.ui.theme.Size15Modifier import com.vitorpamplona.amethyst.ui.theme.Size50Modifier import com.vitorpamplona.amethyst.ui.theme.SpacedBy5dp +import com.vitorpamplona.amethyst.ui.theme.StdVertSpacer @Composable fun BookmarkGroupManagementItem( @@ -60,6 +62,8 @@ fun BookmarkGroupManagementItem( listTitle: String, isPrivateMemberBookmark: Boolean, isPublicMemberBookmark: Boolean, + totalPostBookmarkSize: Int, + totalArticleBookmarkSize: Int, onClick: () -> Unit, onAddBookmarkToGroup: (shouldBookmarkBePrivate: Boolean) -> Unit, onRemoveBookmarkFromGroup: () -> Unit, @@ -77,14 +81,20 @@ fun BookmarkGroupManagementItem( BookmarkStatusInList(isPublicMemberBookmark, isPrivateMemberBookmark) }, leadingContent = { - Box( - contentAlignment = Alignment.Center, + Column( + verticalArrangement = Arrangement.Center, + horizontalAlignment = Alignment.CenterHorizontally, ) { Icon( imageVector = Icons.Outlined.CollectionsBookmark, contentDescription = stringRes(R.string.bookmark_list_icon_label), modifier = Size50Modifier, ) + Spacer(StdVertSpacer) + BookmarkMembershipStatusAndNumberDisplay( + postBookmarksSize = totalPostBookmarkSize, + articleBookmarksSize = totalArticleBookmarkSize, + ) } }, trailingContent = { diff --git a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/bookmarkgroups/membershipManagement/PostBookmarkListManagementScreen.kt b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/bookmarkgroups/membershipManagement/PostBookmarkListManagementScreen.kt index 74fbcd494..14bb6478d 100644 --- a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/bookmarkgroups/membershipManagement/PostBookmarkListManagementScreen.kt +++ b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/bookmarkgroups/membershipManagement/PostBookmarkListManagementScreen.kt @@ -109,6 +109,8 @@ private fun ListManagementView( listTitle = bookmarkList.title, isPublicMemberBookmark = maybePublicBookmark != null, isPrivateMemberBookmark = maybePrivateBookmark != null, + totalPostBookmarkSize = bookmarkList.publicPostBookmarks.size + bookmarkList.privatePostBookmarks.size, + totalArticleBookmarkSize = bookmarkList.publicArticleBookmarks.size + bookmarkList.privateArticleBookmarks.size, onClick = { nav.nav(Route.BookmarkGroupView(bookmarkList.identifier, BookmarkType.PostBookmark)) }, onAddBookmarkToGroup = { shouldBePrivate -> accountViewModel.launchSigner {