Cleaned up ItemButton to work in both its variations

This commit is contained in:
ThomasSession 2024-09-20 10:29:11 +10:00
parent 1ff8ea0fc8
commit 3dfbd0892d
3 changed files with 19 additions and 10 deletions

View File

@ -66,21 +66,21 @@ internal fun StartConversationScreen(
icon = R.drawable.ic_message, icon = R.drawable.ic_message,
modifier = Modifier.contentDescription(R.string.AccessibilityId_messageNew), modifier = Modifier.contentDescription(R.string.AccessibilityId_messageNew),
onClick = delegate::onNewMessageSelected) onClick = delegate::onNewMessageSelected)
Divider(startIndent = LocalDimensions.current.dividerIndent) Divider(startIndent = LocalDimensions.current.minItemButtonHeight)
ItemButton( ItemButton(
textId = R.string.groupCreate, textId = R.string.groupCreate,
icon = R.drawable.ic_group, icon = R.drawable.ic_group,
modifier = Modifier.contentDescription(R.string.AccessibilityId_groupCreate), modifier = Modifier.contentDescription(R.string.AccessibilityId_groupCreate),
onClick = delegate::onCreateGroupSelected onClick = delegate::onCreateGroupSelected
) )
Divider(startIndent = LocalDimensions.current.dividerIndent) Divider(startIndent = LocalDimensions.current.minItemButtonHeight)
ItemButton( ItemButton(
textId = R.string.communityJoin, textId = R.string.communityJoin,
icon = R.drawable.ic_globe, icon = R.drawable.ic_globe,
modifier = Modifier.contentDescription(R.string.AccessibilityId_communityJoin), modifier = Modifier.contentDescription(R.string.AccessibilityId_communityJoin),
onClick = delegate::onJoinCommunitySelected onClick = delegate::onJoinCommunitySelected
) )
Divider(startIndent = LocalDimensions.current.dividerIndent) Divider(startIndent = LocalDimensions.current.minItemButtonHeight)
ItemButton( ItemButton(
textId = R.string.sessionInviteAFriend, textId = R.string.sessionInviteAFriend,
icon = R.drawable.ic_invite_friend, icon = R.drawable.ic_invite_friend,

View File

@ -275,19 +275,17 @@ fun ItemButton(
onClick: () -> Unit onClick: () -> Unit
) { ) {
TextButton( TextButton(
modifier = modifier.fillMaxWidth() modifier = modifier.fillMaxWidth(),
.height(IntrinsicSize.Min)
.heightIn(min = minHeight),
colors = colors, colors = colors,
onClick = onClick, onClick = onClick,
contentPadding = PaddingValues(), contentPadding = PaddingValues(),
shape = RectangleShape, shape = RectangleShape,
) { ) {
Box( Box(
modifier = Modifier.fillMaxHeight() modifier = Modifier
.align(Alignment.CenterVertically)
.padding(horizontal = LocalDimensions.current.xxsSpacing) .padding(horizontal = LocalDimensions.current.xxsSpacing)
.aspectRatio(1f), .size(minHeight)
.align(Alignment.CenterVertically),
content = icon content = icon
) )
@ -313,6 +311,18 @@ fun PreviewItemButton() {
} }
} }
@Preview
@Composable
fun PreviewLargeItemButton() {
PreviewTheme {
LargeItemButton(
textId = R.string.groupCreate,
icon = R.drawable.ic_group,
onClick = {}
)
}
}
@Composable @Composable
fun Cell( fun Cell(
modifier: Modifier = Modifier, modifier: Modifier = Modifier,

View File

@ -15,7 +15,6 @@ data class Dimensions(
val mediumSpacing: Dp = 36.dp, val mediumSpacing: Dp = 36.dp,
val xlargeSpacing: Dp = 64.dp, val xlargeSpacing: Dp = 64.dp,
val dividerIndent: Dp = 60.dp,
val appBarHeight: Dp = 64.dp, val appBarHeight: Dp = 64.dp,
val minItemButtonHeight: Dp = 50.dp, val minItemButtonHeight: Dp = 50.dp,
val minLargeItemButtonHeight: Dp = 60.dp, val minLargeItemButtonHeight: Dp = 60.dp,