From f052bf1f22fa1de2795039962f526b3c7be47b61 Mon Sep 17 00:00:00 2001 From: dluvian Date: Tue, 27 Feb 2024 17:40:56 +0800 Subject: [PATCH 1/2] Increase postcard action touch area --- .../nozzle/ui/components/iconButtons/BaseIconButton.kt | 4 ++-- .../ui/components/iconButtons/toggle/LikeToggleIconButton.kt | 4 +++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/com/dluvian/nozzle/ui/components/iconButtons/BaseIconButton.kt b/app/src/main/java/com/dluvian/nozzle/ui/components/iconButtons/BaseIconButton.kt index 463e76a3..680619e2 100644 --- a/app/src/main/java/com/dluvian/nozzle/ui/components/iconButtons/BaseIconButton.kt +++ b/app/src/main/java/com/dluvian/nozzle/ui/components/iconButtons/BaseIconButton.kt @@ -13,7 +13,7 @@ fun BaseIconButton( onClick: () -> Unit, modifier: Modifier = Modifier ) { - IconButton(modifier = modifier, onClick = onClick) { - Icon(imageVector = imageVector, contentDescription = description) + IconButton(onClick = onClick) { + Icon(modifier = modifier, imageVector = imageVector, contentDescription = description) } } diff --git a/app/src/main/java/com/dluvian/nozzle/ui/components/iconButtons/toggle/LikeToggleIconButton.kt b/app/src/main/java/com/dluvian/nozzle/ui/components/iconButtons/toggle/LikeToggleIconButton.kt index 5ecd77a0..8f082652 100644 --- a/app/src/main/java/com/dluvian/nozzle/ui/components/iconButtons/toggle/LikeToggleIconButton.kt +++ b/app/src/main/java/com/dluvian/nozzle/ui/components/iconButtons/toggle/LikeToggleIconButton.kt @@ -17,15 +17,17 @@ fun LikeToggleIconButton( onToggleLike: () -> Unit, modifier: Modifier = Modifier, ) { - IconButton(modifier = modifier, onClick = onToggleLike) { + IconButton(onClick = onToggleLike) { if (isLiked) { Icon( + modifier = modifier, imageVector = LikedIcon, tint = Color.Red, contentDescription = stringResource(id = R.string.remove_like), ) } else { Icon( + modifier = modifier, imageVector = NotLikedIcon, tint = MaterialTheme.colorScheme.onSurface, contentDescription = stringResource(id = R.string.like) From 435136652248fa41d6bf358391ecf98b9d4e452d Mon Sep 17 00:00:00 2001 From: dluvian Date: Wed, 28 Feb 2024 19:08:08 +0800 Subject: [PATCH 2/2] Adjust touch area --- .../com/dluvian/nozzle/ui/components/hint/BaseHint.kt | 2 +- .../nozzle/ui/components/iconButtons/AddIconButton.kt | 7 ++++++- .../ui/components/iconButtons/BaseIconButton.kt | 7 ++++--- .../ui/components/iconButtons/CopyIconButton.kt | 11 ++++++++++- .../ui/components/iconButtons/QuoteIconButton.kt | 4 +++- .../ui/components/iconButtons/ReplyIconButton.kt | 4 +++- .../iconButtons/toggle/LikeToggleIconButton.kt | 7 ++++--- .../iconButtons/toggle/VisibilityToggleIconButton.kt | 7 ++++++- .../ui/components/postCard/atoms/PostCardActions.kt | 9 ++++++--- .../main/java/com/dluvian/nozzle/ui/theme/Sizing.kt | 6 +++++- 10 files changed, 48 insertions(+), 16 deletions(-) diff --git a/app/src/main/java/com/dluvian/nozzle/ui/components/hint/BaseHint.kt b/app/src/main/java/com/dluvian/nozzle/ui/components/hint/BaseHint.kt index 05ef92dd..4a8c5552 100644 --- a/app/src/main/java/com/dluvian/nozzle/ui/components/hint/BaseHint.kt +++ b/app/src/main/java/com/dluvian/nozzle/ui/components/hint/BaseHint.kt @@ -27,7 +27,7 @@ fun BaseHint(text: String) { ) { Icon( modifier = Modifier - .size(sizing.largeItem) + .size(sizing.extraLargeItem) .aspectRatio(1f), imageVector = SearchIcon, contentDescription = text, diff --git a/app/src/main/java/com/dluvian/nozzle/ui/components/iconButtons/AddIconButton.kt b/app/src/main/java/com/dluvian/nozzle/ui/components/iconButtons/AddIconButton.kt index d8329cf0..640c70cb 100644 --- a/app/src/main/java/com/dluvian/nozzle/ui/components/iconButtons/AddIconButton.kt +++ b/app/src/main/java/com/dluvian/nozzle/ui/components/iconButtons/AddIconButton.kt @@ -5,9 +5,14 @@ import androidx.compose.ui.Modifier import com.dluvian.nozzle.ui.theme.AddIcon @Composable -fun AddIconButton(onAdd: () -> Unit, description: String, modifier: Modifier = Modifier) { +fun AddIconButton( + onAdd: () -> Unit, description: String, + modifier: Modifier = Modifier, + iconModifier: Modifier = Modifier, +) { BaseIconButton( modifier = modifier, + iconModifier = iconModifier, imageVector = AddIcon, description = description, onClick = onAdd diff --git a/app/src/main/java/com/dluvian/nozzle/ui/components/iconButtons/BaseIconButton.kt b/app/src/main/java/com/dluvian/nozzle/ui/components/iconButtons/BaseIconButton.kt index 680619e2..148558b7 100644 --- a/app/src/main/java/com/dluvian/nozzle/ui/components/iconButtons/BaseIconButton.kt +++ b/app/src/main/java/com/dluvian/nozzle/ui/components/iconButtons/BaseIconButton.kt @@ -11,9 +11,10 @@ fun BaseIconButton( imageVector: ImageVector, description: String, onClick: () -> Unit, - modifier: Modifier = Modifier + modifier: Modifier = Modifier, + iconModifier: Modifier = Modifier ) { - IconButton(onClick = onClick) { - Icon(modifier = modifier, imageVector = imageVector, contentDescription = description) + IconButton(modifier = modifier, onClick = onClick) { + Icon(modifier = iconModifier, imageVector = imageVector, contentDescription = description) } } diff --git a/app/src/main/java/com/dluvian/nozzle/ui/components/iconButtons/CopyIconButton.kt b/app/src/main/java/com/dluvian/nozzle/ui/components/iconButtons/CopyIconButton.kt index 767ac7ca..19990f53 100644 --- a/app/src/main/java/com/dluvian/nozzle/ui/components/iconButtons/CopyIconButton.kt +++ b/app/src/main/java/com/dluvian/nozzle/ui/components/iconButtons/CopyIconButton.kt @@ -1,10 +1,19 @@ package com.dluvian.nozzle.ui.components.iconButtons +import androidx.compose.foundation.layout.size import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier import com.dluvian.nozzle.ui.theme.CopyIcon +import com.dluvian.nozzle.ui.theme.sizing @Composable fun CopyIconButton(onCopy: () -> Unit, description: String) { - BaseIconButton(imageVector = CopyIcon, description = description, onClick = onCopy) + BaseIconButton( + modifier = Modifier.size(sizing.largeItem), + iconModifier = Modifier.size(sizing.smallItem), + imageVector = CopyIcon, + description = description, + onClick = onCopy + ) } diff --git a/app/src/main/java/com/dluvian/nozzle/ui/components/iconButtons/QuoteIconButton.kt b/app/src/main/java/com/dluvian/nozzle/ui/components/iconButtons/QuoteIconButton.kt index 7612ed2e..408f81ca 100644 --- a/app/src/main/java/com/dluvian/nozzle/ui/components/iconButtons/QuoteIconButton.kt +++ b/app/src/main/java/com/dluvian/nozzle/ui/components/iconButtons/QuoteIconButton.kt @@ -8,10 +8,12 @@ import com.dluvian.nozzle.ui.theme.QuoteIcon fun QuoteIconButton( onQuote: () -> Unit, description: String, - modifier: Modifier = Modifier + modifier: Modifier = Modifier, + iconModifier: Modifier = Modifier, ) { BaseIconButton( modifier = modifier, + iconModifier = iconModifier, imageVector = QuoteIcon, description = description, onClick = onQuote diff --git a/app/src/main/java/com/dluvian/nozzle/ui/components/iconButtons/ReplyIconButton.kt b/app/src/main/java/com/dluvian/nozzle/ui/components/iconButtons/ReplyIconButton.kt index 128bd098..062750b9 100644 --- a/app/src/main/java/com/dluvian/nozzle/ui/components/iconButtons/ReplyIconButton.kt +++ b/app/src/main/java/com/dluvian/nozzle/ui/components/iconButtons/ReplyIconButton.kt @@ -8,10 +8,12 @@ import com.dluvian.nozzle.ui.theme.ReplyIcon fun ReplyIconButton( onReply: () -> Unit, description: String, - modifier: Modifier = Modifier + modifier: Modifier = Modifier, + iconModifier: Modifier = Modifier, ) { BaseIconButton( modifier = modifier, + iconModifier = iconModifier, imageVector = ReplyIcon, description = description, onClick = onReply diff --git a/app/src/main/java/com/dluvian/nozzle/ui/components/iconButtons/toggle/LikeToggleIconButton.kt b/app/src/main/java/com/dluvian/nozzle/ui/components/iconButtons/toggle/LikeToggleIconButton.kt index 8f082652..3706aa3b 100644 --- a/app/src/main/java/com/dluvian/nozzle/ui/components/iconButtons/toggle/LikeToggleIconButton.kt +++ b/app/src/main/java/com/dluvian/nozzle/ui/components/iconButtons/toggle/LikeToggleIconButton.kt @@ -16,18 +16,19 @@ fun LikeToggleIconButton( isLiked: Boolean, onToggleLike: () -> Unit, modifier: Modifier = Modifier, + iconModifier: Modifier = Modifier, ) { - IconButton(onClick = onToggleLike) { + IconButton(modifier = modifier, onClick = onToggleLike) { if (isLiked) { Icon( - modifier = modifier, + modifier = iconModifier, imageVector = LikedIcon, tint = Color.Red, contentDescription = stringResource(id = R.string.remove_like), ) } else { Icon( - modifier = modifier, + modifier = iconModifier, imageVector = NotLikedIcon, tint = MaterialTheme.colorScheme.onSurface, contentDescription = stringResource(id = R.string.like) diff --git a/app/src/main/java/com/dluvian/nozzle/ui/components/iconButtons/toggle/VisibilityToggleIconButton.kt b/app/src/main/java/com/dluvian/nozzle/ui/components/iconButtons/toggle/VisibilityToggleIconButton.kt index d64ad49e..02ee7933 100644 --- a/app/src/main/java/com/dluvian/nozzle/ui/components/iconButtons/toggle/VisibilityToggleIconButton.kt +++ b/app/src/main/java/com/dluvian/nozzle/ui/components/iconButtons/toggle/VisibilityToggleIconButton.kt @@ -1,23 +1,28 @@ package com.dluvian.nozzle.ui.components.iconButtons.toggle +import androidx.compose.foundation.layout.size import androidx.compose.material3.Icon import androidx.compose.material3.IconButton import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier import androidx.compose.ui.res.stringResource import com.dluvian.nozzle.R import com.dluvian.nozzle.ui.theme.VisibilityOffIcon import com.dluvian.nozzle.ui.theme.VisibilityOnIcon +import com.dluvian.nozzle.ui.theme.sizing @Composable fun VisibilityToggleIconButton(isVisible: Boolean, onToggleVisibility: () -> Unit) { - IconButton(onClick = onToggleVisibility) { + IconButton(modifier = Modifier.size(sizing.largeItem), onClick = onToggleVisibility) { if (isVisible) { Icon( + modifier = Modifier.size(sizing.smallItem), imageVector = VisibilityOffIcon, contentDescription = stringResource(id = R.string.turn_visibility_off) ) } else { Icon( + modifier = Modifier.size(sizing.smallItem), imageVector = VisibilityOnIcon, contentDescription = stringResource(id = R.string.turn_visibility_on) ) diff --git a/app/src/main/java/com/dluvian/nozzle/ui/components/postCard/atoms/PostCardActions.kt b/app/src/main/java/com/dluvian/nozzle/ui/components/postCard/atoms/PostCardActions.kt index 446e7bc8..101385fa 100644 --- a/app/src/main/java/com/dluvian/nozzle/ui/components/postCard/atoms/PostCardActions.kt +++ b/app/src/main/java/com/dluvian/nozzle/ui/components/postCard/atoms/PostCardActions.kt @@ -76,7 +76,8 @@ private fun ReplyAction( ) { Row(modifier = modifier, verticalAlignment = Alignment.CenterVertically) { ReplyIconButton( - modifier = Modifier.size(sizing.smallItem), + modifier = Modifier.size(sizing.largeItem), + iconModifier = Modifier.size(sizing.smallItem), onReply = { onPrepareReply(postToReplyTo) onNavigateToReply() @@ -102,7 +103,8 @@ private fun QuoteAction( verticalAlignment = Alignment.CenterVertically ) { QuoteIconButton( - modifier = Modifier.size(sizing.smallItem), + modifier = Modifier.size(sizing.largeItem), + iconModifier = Modifier.size(sizing.smallItem), onQuote = onNavigateToQuote, description = stringResource(R.string.quote) ) @@ -124,7 +126,8 @@ private fun LikeAction( verticalAlignment = Alignment.CenterVertically ) { LikeToggleIconButton( - modifier = Modifier.size(sizing.smallItem), + modifier = Modifier.size(sizing.largeItem), + iconModifier = Modifier.size(sizing.smallItem), isLiked = isLiked.value, onToggleLike = { if (isLiked.value) showDeletePopup.value = true diff --git a/app/src/main/java/com/dluvian/nozzle/ui/theme/Sizing.kt b/app/src/main/java/com/dluvian/nozzle/ui/theme/Sizing.kt index 469ed94c..6025ea8d 100644 --- a/app/src/main/java/com/dluvian/nozzle/ui/theme/Sizing.kt +++ b/app/src/main/java/com/dluvian/nozzle/ui/theme/Sizing.kt @@ -24,10 +24,14 @@ data class Sizing( * 24 dp */ val mediumItem: Dp = 24.dp, + /** + * 32 dp + */ + val largeItem: Dp = 32.dp, /** * 48 dp */ - val largeItem: Dp = 48.dp, + val extraLargeItem: Dp = 48.dp, /** * 32 dp */