mirror of
https://github.com/msfjarvis/compose-lobsters
synced 2025-08-15 01:47:03 +05:30
common: correctly dispatch click events on save button
This commit is contained in:
parent
b3588e97e7
commit
2e66baaf08
1 changed files with 9 additions and 15 deletions
|
@ -3,6 +3,7 @@ package dev.msfjarvis.claw.common.posts
|
||||||
import androidx.compose.animation.Crossfade
|
import androidx.compose.animation.Crossfade
|
||||||
import androidx.compose.foundation.ExperimentalFoundationApi
|
import androidx.compose.foundation.ExperimentalFoundationApi
|
||||||
import androidx.compose.foundation.background
|
import androidx.compose.foundation.background
|
||||||
|
import androidx.compose.foundation.clickable
|
||||||
import androidx.compose.foundation.combinedClickable
|
import androidx.compose.foundation.combinedClickable
|
||||||
import androidx.compose.foundation.layout.Arrangement
|
import androidx.compose.foundation.layout.Arrangement
|
||||||
import androidx.compose.foundation.layout.Box
|
import androidx.compose.foundation.layout.Box
|
||||||
|
@ -18,7 +19,6 @@ import androidx.compose.foundation.shape.RoundedCornerShape
|
||||||
import androidx.compose.material.Card
|
import androidx.compose.material.Card
|
||||||
import androidx.compose.material.ExperimentalMaterialApi
|
import androidx.compose.material.ExperimentalMaterialApi
|
||||||
import androidx.compose.material.Icon
|
import androidx.compose.material.Icon
|
||||||
import androidx.compose.material.IconToggleButton
|
|
||||||
import androidx.compose.material.MaterialTheme
|
import androidx.compose.material.MaterialTheme
|
||||||
import androidx.compose.material.Text
|
import androidx.compose.material.Text
|
||||||
import androidx.compose.material.primarySurface
|
import androidx.compose.material.primarySurface
|
||||||
|
@ -62,7 +62,7 @@ fun LobstersCard(
|
||||||
) {
|
) {
|
||||||
SaveButton(
|
SaveButton(
|
||||||
isSaved = isSaved,
|
isSaved = isSaved,
|
||||||
onClick = { postActions.toggleSave(post) },
|
modifier = Modifier.clickable { postActions.toggleSave(post) },
|
||||||
)
|
)
|
||||||
Spacer(
|
Spacer(
|
||||||
modifier = Modifier.width(8.dp),
|
modifier = Modifier.width(8.dp),
|
||||||
|
@ -158,23 +158,17 @@ fun SubmitterNameText(
|
||||||
@Composable
|
@Composable
|
||||||
fun SaveButton(
|
fun SaveButton(
|
||||||
isSaved: Boolean,
|
isSaved: Boolean,
|
||||||
onClick: () -> Unit,
|
|
||||||
modifier: Modifier = Modifier,
|
modifier: Modifier = Modifier,
|
||||||
) {
|
|
||||||
IconToggleButton(
|
|
||||||
checked = isSaved,
|
|
||||||
onCheckedChange = { onClick.invoke() },
|
|
||||||
modifier = modifier.requiredSize(32.dp),
|
|
||||||
) {
|
) {
|
||||||
Crossfade(targetState = isSaved) { saved ->
|
Crossfade(targetState = isSaved) { saved ->
|
||||||
Icon(
|
Icon(
|
||||||
painter = if (saved) heartIcon else heartBorderIcon,
|
painter = if (saved) heartIcon else heartBorderIcon,
|
||||||
tint = MaterialTheme.colors.secondary,
|
tint = MaterialTheme.colors.secondary,
|
||||||
contentDescription = if (saved) "Remove from saved posts" else "Add to saved posts",
|
contentDescription = if (saved) "Remove from saved posts" else "Add to saved posts",
|
||||||
|
modifier = modifier,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun CommentsButton(
|
fun CommentsButton(
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue