diff --git a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/lists/CustomListsScreen.kt b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/lists/CustomListsScreen.kt index 26f2a4dc3..ca09f2cbb 100644 --- a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/lists/CustomListsScreen.kt +++ b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/lists/CustomListsScreen.kt @@ -32,7 +32,6 @@ import androidx.compose.foundation.pager.rememberPagerState import androidx.compose.foundation.shape.CircleShape import androidx.compose.material3.AlertDialog import androidx.compose.material3.Button -import androidx.compose.material3.ButtonDefaults import androidx.compose.material3.FloatingActionButton import androidx.compose.material3.Icon import androidx.compose.material3.MaterialTheme @@ -203,11 +202,15 @@ fun CustomListsScreen( }, ) }, - ) { + ) { paddingValues -> Column( Modifier - .padding(it) - .fillMaxHeight(), + .padding( + top = paddingValues.calculateTopPadding(), + bottom = paddingValues.calculateBottomPadding(), + start = 10.dp, + end = 10.dp, + ).fillMaxHeight(), ) { HorizontalPager(state = pagerState) { page -> when (page) { @@ -246,7 +249,7 @@ private fun FollowSetFabsAndMenu( isSetAdditionDialogOpen.value = true }, shape = CircleShape, - containerColor = ButtonDefaults.filledTonalButtonColors().containerColor, + containerColor = MaterialTheme.colorScheme.primary, ) { Icon( painter = painterResource(R.drawable.lock_plus), @@ -259,7 +262,7 @@ private fun FollowSetFabsAndMenu( isSetAdditionDialogOpen.value = true }, shape = CircleShape, - containerColor = ButtonDefaults.filledTonalButtonColors().containerColor, + containerColor = MaterialTheme.colorScheme.primary, ) { Icon( painter = painterResource(R.drawable.earth_plus), diff --git a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/lists/CustomSetItem.kt b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/lists/CustomSetItem.kt index 35737d74b..26cdf279e 100644 --- a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/lists/CustomSetItem.kt +++ b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/lists/CustomSetItem.kt @@ -20,14 +20,12 @@ */ package com.vitorpamplona.amethyst.ui.screen.loggedIn.lists -import androidx.compose.foundation.border import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.padding -import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.material.icons.Icons import androidx.compose.material.icons.filled.People import androidx.compose.material3.AlertDialog @@ -54,7 +52,6 @@ import androidx.compose.ui.text.font.FontStyle import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.text.withStyle -import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import com.vitorpamplona.amethyst.R @@ -79,12 +76,7 @@ fun CustomSetItem( Row( modifier = modifier - .clickable(onClick = onFollowSetClick) - .border( - width = Dp.Hairline, - color = Color.Gray, - shape = RoundedCornerShape(percent = 20), - ).padding(horizontal = 10.dp), + .clickable(onClick = onFollowSetClick), ) { Row( modifier = diff --git a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/lists/FollowSetFeedView.kt b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/lists/FollowSetFeedView.kt index 93921305d..4e524a0d8 100644 --- a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/lists/FollowSetFeedView.kt +++ b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/lists/FollowSetFeedView.kt @@ -28,6 +28,7 @@ import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.lazy.LazyColumn import androidx.compose.foundation.lazy.itemsIndexed import androidx.compose.foundation.lazy.rememberLazyListState +import androidx.compose.material3.HorizontalDivider import androidx.compose.material3.OutlinedButton import androidx.compose.material3.Text import androidx.compose.runtime.Composable @@ -38,6 +39,7 @@ import com.vitorpamplona.amethyst.ui.feeds.FeedError import com.vitorpamplona.amethyst.ui.feeds.LoadingFeed import com.vitorpamplona.amethyst.ui.feeds.RefresheableBox import com.vitorpamplona.amethyst.ui.stringRes +import com.vitorpamplona.amethyst.ui.theme.DividerThickness import com.vitorpamplona.amethyst.ui.theme.FeedPadding import com.vitorpamplona.amethyst.ui.theme.StdVertSpacer @@ -102,7 +104,7 @@ fun FollowSetLoaded( ) { itemsIndexed(loadedFeedState, key = { _, item -> item.identifierTag }) { _, set -> CustomSetItem( - modifier = Modifier.animateItem(), + modifier = Modifier.fillMaxSize().animateItem(), followSet = set, onFollowSetClick = { onItemClick(set.identifierTag) @@ -114,7 +116,7 @@ fun FollowSetLoaded( onItemDelete(set) }, ) - Spacer(modifier = StdVertSpacer) + HorizontalDivider(thickness = DividerThickness) } } } diff --git a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/lists/followsets/FollowSetScreen.kt b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/lists/followsets/FollowSetScreen.kt index 1eda66dbb..df54be0f1 100644 --- a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/lists/followsets/FollowSetScreen.kt +++ b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/lists/followsets/FollowSetScreen.kt @@ -22,6 +22,7 @@ package com.vitorpamplona.amethyst.ui.screen.loggedIn.lists.followsets import androidx.activity.compose.BackHandler import androidx.compose.foundation.background +import androidx.compose.foundation.border import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.Spacer @@ -29,12 +30,14 @@ import androidx.compose.foundation.layout.consumeWindowInsets import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.imePadding import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.size import androidx.compose.foundation.lazy.LazyColumn import androidx.compose.foundation.lazy.itemsIndexed import androidx.compose.foundation.lazy.rememberLazyListState import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.material.icons.Icons import androidx.compose.material.icons.filled.Delete +import androidx.compose.material3.ButtonDefaults import androidx.compose.material3.DropdownMenu import androidx.compose.material3.DropdownMenuItem import androidx.compose.material3.ExperimentalMaterial3Api @@ -58,6 +61,7 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.res.painterResource import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.text.style.TextOverflow +import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import androidx.lifecycle.viewmodel.compose.viewModel @@ -72,7 +76,9 @@ import com.vitorpamplona.amethyst.ui.screen.loggedIn.lists.FollowSet import com.vitorpamplona.amethyst.ui.screen.loggedIn.lists.ListVisibility import com.vitorpamplona.amethyst.ui.screen.loggedIn.lists.NostrUserListFeedViewModel import com.vitorpamplona.amethyst.ui.screen.loggedIn.qrcode.BackButton +import com.vitorpamplona.amethyst.ui.theme.ButtonBorder import com.vitorpamplona.amethyst.ui.theme.FeedPadding +import com.vitorpamplona.amethyst.ui.theme.HalfPadding import com.vitorpamplona.amethyst.ui.theme.StdHorzSpacer import com.vitorpamplona.amethyst.ui.theme.StdPadding import com.vitorpamplona.quartz.nip51Lists.peopleList.PeopleListEvent @@ -180,8 +186,6 @@ fun FollowSetScreen( Modifier .fillMaxSize() .padding( - start = 10.dp, - end = 10.dp, top = padding.calculateTopPadding(), bottom = padding.calculateBottomPadding(), ).consumeWindowInsets(padding) @@ -294,7 +298,7 @@ fun FollowSetListItem( Row { UserCompose( user, - overallModifier = StdPadding.weight(1f, fill = false), + overallModifier = HalfPadding.weight(1f, fill = false), accountViewModel = accountViewModel, nav = nav, ) @@ -303,16 +307,17 @@ fun FollowSetListItem( onDeleteUser(user.pubkeyHex) }, modifier = - StdPadding + HalfPadding .align(Alignment.CenterVertically) .background( color = MaterialTheme.colorScheme.errorContainer, - shape = RoundedCornerShape(size = 15.dp), + shape = RoundedCornerShape(percent = 80), ), ) { Icon( imageVector = Icons.Default.Delete, contentDescription = null, + modifier = Modifier.size(20.dp), ) } } @@ -329,6 +334,17 @@ fun ListActionsMenuButton( val isActionListOpen = remember { mutableStateOf(false) } ClickableBox( + modifier = + StdPadding + .size(30.dp) + .border( + width = Dp.Hairline, + color = ButtonDefaults.filledTonalButtonColors().containerColor, + shape = ButtonBorder, + ).background( + color = ButtonDefaults.filledTonalButtonColors().containerColor, + shape = ButtonBorder, + ), onClick = { isActionListOpen.value = true }, ) { VerticalDotsIcon() @@ -362,6 +378,7 @@ fun ListActionsMenu( onCloseMenu() }, ) + HorizontalDivider() DropdownMenuItem( text = { Text("Delete List") diff --git a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/lists/followsets/FollowSetsManagementDialog.kt b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/lists/followsets/FollowSetsManagementDialog.kt index 5b3839880..b0629981c 100644 --- a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/lists/followsets/FollowSetsManagementDialog.kt +++ b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/lists/followsets/FollowSetsManagementDialog.kt @@ -245,10 +245,11 @@ fun BackActionButton( OutlinedButton( onClick = onBack, shape = ButtonBorder, - colors = ButtonDefaults.filledTonalButtonColors(), + colors = ButtonDefaults.buttonColors(), + border = ButtonDefaults.outlinedButtonBorder(false), elevation = ButtonDefaults.elevatedButtonElevation(defaultElevation = 6.0.dp), ) { - Text(text = stringRes(R.string.back), fontWeight = FontWeight.SemiBold) + Text(text = stringRes(R.string.back), fontWeight = FontWeight.Bold, color = Color.White) } } @@ -399,7 +400,7 @@ fun FollowSetItem( if (isUserInList) { MaterialTheme.colorScheme.errorContainer } else { - ButtonDefaults.filledTonalButtonColors().containerColor + MaterialTheme.colorScheme.primary }, shape = RoundedCornerShape(percent = 80), ), @@ -414,11 +415,14 @@ fun FollowSetItem( Icon( imageVector = Icons.Filled.Add, contentDescription = null, - tint = MaterialTheme.colorScheme.onBackground, + tint = Color.White, ) } } - Text(text = stringRes(if (isUserInList) R.string.remove else R.string.add), color = Color.Gray) + Text( + text = stringRes(if (isUserInList) R.string.remove else R.string.add), + color = MaterialTheme.colorScheme.onBackground, + ) } } }