点赞和评论

This commit is contained in:
2024-07-30 14:28:13 +08:00
parent 406caa3702
commit 0730fdea68
10 changed files with 357 additions and 93 deletions

View File

@@ -24,9 +24,9 @@ import kotlinx.coroutines.launch
@Composable
fun AnimatedLikeIcon(
modifier: Modifier = Modifier,
liked: Boolean = false,
onClick: (() -> Unit)? = null
) {
var liked by remember { mutableStateOf(false) }
val animatableRotation = remember { Animatable(0f) }
val animatedColor by animateColorAsState(targetValue = if (liked) Color(0xFFd83737) else Color.Black)
val scope = rememberCoroutineScope()
@@ -52,13 +52,11 @@ fun AnimatedLikeIcon(
)
}
Box(contentAlignment = Alignment.Center, modifier = Modifier.noRippleClickable {
liked = !liked
onClick?.invoke()
// Trigger shake animation
scope.launch {
shake()
}
}) {
Image(
painter = painterResource(id = R.drawable.rider_pro_like),

View File

@@ -6,13 +6,16 @@ import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.size
import androidx.compose.foundation.layout.width
import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.foundation.text.BasicTextField
import androidx.compose.runtime.Composable
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import androidx.compose.runtime.setValue
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.clip
@@ -22,9 +25,11 @@ import androidx.compose.ui.text.TextStyle
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.unit.dp
import com.aiosman.riderpro.R
import com.aiosman.riderpro.ui.modifiers.noRippleClickable
@Composable
fun EditCommentBottomModal() {
fun EditCommentBottomModal(onSend: (String) -> Unit = {}) {
var text by remember { mutableStateOf("") }
Box(
modifier = Modifier
.fillMaxWidth()
@@ -49,8 +54,10 @@ fun EditCommentBottomModal() {
) {
BasicTextField(
value = "",
onValueChange = { },
value = text,
onValueChange = {
text = it
},
modifier = Modifier
.fillMaxWidth(),
textStyle = TextStyle(
@@ -67,10 +74,11 @@ fun EditCommentBottomModal() {
contentDescription = "Send",
modifier = Modifier
.size(32.dp)
.noRippleClickable {
onSend(text)
text = ""
},
)
}
}
}