更新个人主页及其他页面
- 个人主页UI更新,支持工具栏滚动 - 调整个人主页背景颜色 - 更新个人主页为空时的 UI - 更新用户信息编辑页面样式 - 更新点赞和收藏通知页面的文案 - 更新点赞和收藏通知页面的国际化 - 修复 UserContentPageIndicator 的滚动问题 - 更新评论通知页面的标题文案 - 更新评论通知页面的国际化
This commit is contained in:
@@ -161,7 +161,7 @@ fun AccountEditScreen2() {
|
|||||||
}
|
}
|
||||||
Column(
|
Column(
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
.fillMaxSize(),
|
.fillMaxSize().background(Color.White),
|
||||||
horizontalAlignment = Alignment.CenterHorizontally
|
horizontalAlignment = Alignment.CenterHorizontally
|
||||||
) {
|
) {
|
||||||
StatusBarSpacer()
|
StatusBarSpacer()
|
||||||
@@ -210,13 +210,13 @@ fun AccountEditScreen2() {
|
|||||||
.size(32.dp)
|
.size(32.dp)
|
||||||
.clip(CircleShape)
|
.clip(CircleShape)
|
||||||
.background(AppColors.mainColor)
|
.background(AppColors.mainColor)
|
||||||
.align(Alignment.BottomEnd).noRippleClickable {
|
.align(Alignment.BottomEnd)
|
||||||
|
.noRippleClickable {
|
||||||
Intent(Intent.ACTION_PICK).apply {
|
Intent(Intent.ACTION_PICK).apply {
|
||||||
type = "image/*"
|
type = "image/*"
|
||||||
pickImageLauncher.launch(this)
|
pickImageLauncher.launch(this)
|
||||||
}
|
}
|
||||||
}
|
},
|
||||||
,
|
|
||||||
contentAlignment = Alignment.Center
|
contentAlignment = Alignment.Center
|
||||||
) {
|
) {
|
||||||
Icon(
|
Icon(
|
||||||
@@ -229,14 +229,16 @@ fun AccountEditScreen2() {
|
|||||||
}
|
}
|
||||||
Spacer(modifier = Modifier.height(46.dp))
|
Spacer(modifier = Modifier.height(46.dp))
|
||||||
Column(
|
Column(
|
||||||
modifier = Modifier.padding(horizontal = 24.dp).border(
|
modifier = Modifier
|
||||||
width = 1.dp,
|
.padding(horizontal = 16.dp)
|
||||||
color = Color(0xFFEBEBEB),
|
|
||||||
)
|
|
||||||
) {
|
) {
|
||||||
Row(
|
Row(
|
||||||
modifier = Modifier.padding(16.dp),
|
modifier = Modifier
|
||||||
|
.clip(RoundedCornerShape(24.dp))
|
||||||
|
.background(Color(0xfff8f8f8))
|
||||||
|
.padding(16.dp),
|
||||||
verticalAlignment = Alignment.CenterVertically
|
verticalAlignment = Alignment.CenterVertically
|
||||||
|
|
||||||
) {
|
) {
|
||||||
Text(
|
Text(
|
||||||
text = stringResource(R.string.nickname),
|
text = stringResource(R.string.nickname),
|
||||||
@@ -263,15 +265,12 @@ fun AccountEditScreen2() {
|
|||||||
.padding(start = 16.dp)
|
.padding(start = 16.dp)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
Box(
|
Spacer(modifier = Modifier.height(16.dp))
|
||||||
modifier = Modifier
|
|
||||||
.fillMaxWidth()
|
|
||||||
.height(1.dp)
|
|
||||||
.padding(horizontal = 16.dp)
|
|
||||||
.background(Color(0xFFEBEBEB))
|
|
||||||
)
|
|
||||||
Row(
|
Row(
|
||||||
modifier = Modifier.padding(16.dp),
|
modifier = Modifier
|
||||||
|
.clip(RoundedCornerShape(16.dp))
|
||||||
|
.background(Color(0xfff8f8f8))
|
||||||
|
.padding(16.dp),
|
||||||
verticalAlignment = Alignment.CenterVertically
|
verticalAlignment = Alignment.CenterVertically
|
||||||
) {
|
) {
|
||||||
Text(
|
Text(
|
||||||
|
|||||||
@@ -22,6 +22,7 @@ import androidx.compose.ui.Modifier
|
|||||||
import androidx.compose.ui.draw.clip
|
import androidx.compose.ui.draw.clip
|
||||||
import androidx.compose.ui.graphics.Color
|
import androidx.compose.ui.graphics.Color
|
||||||
import androidx.compose.ui.platform.LocalContext
|
import androidx.compose.ui.platform.LocalContext
|
||||||
|
import androidx.compose.ui.res.stringResource
|
||||||
import androidx.compose.ui.text.style.TextOverflow
|
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.compose.ui.unit.sp
|
||||||
@@ -32,6 +33,7 @@ import androidx.lifecycle.viewmodel.compose.viewModel
|
|||||||
import androidx.paging.LoadState
|
import androidx.paging.LoadState
|
||||||
import androidx.paging.compose.collectAsLazyPagingItems
|
import androidx.paging.compose.collectAsLazyPagingItems
|
||||||
import com.aiosman.riderpro.LocalNavController
|
import com.aiosman.riderpro.LocalNavController
|
||||||
|
import com.aiosman.riderpro.R
|
||||||
import com.aiosman.riderpro.entity.CommentEntity
|
import com.aiosman.riderpro.entity.CommentEntity
|
||||||
import com.aiosman.riderpro.exp.timeAgo
|
import com.aiosman.riderpro.exp.timeAgo
|
||||||
import com.aiosman.riderpro.ui.NavigationRoute
|
import com.aiosman.riderpro.ui.NavigationRoute
|
||||||
@@ -68,7 +70,7 @@ fun CommentNoticeScreen() {
|
|||||||
.fillMaxWidth()
|
.fillMaxWidth()
|
||||||
.padding(16.dp)
|
.padding(16.dp)
|
||||||
) {
|
) {
|
||||||
NoticeScreenHeader("Comment", moreIcon = false)
|
NoticeScreenHeader(stringResource(R.string.comment), moreIcon = false)
|
||||||
}
|
}
|
||||||
|
|
||||||
LazyColumn(
|
LazyColumn(
|
||||||
|
|||||||
@@ -22,7 +22,13 @@
|
|||||||
|
|
||||||
package com.aiosman.riderpro.ui.composables.toolbar
|
package com.aiosman.riderpro.ui.composables.toolbar
|
||||||
|
|
||||||
|
import androidx.compose.foundation.ScrollState
|
||||||
import androidx.compose.foundation.gestures.ScrollableDefaults
|
import androidx.compose.foundation.gestures.ScrollableDefaults
|
||||||
|
import androidx.compose.foundation.layout.Box
|
||||||
|
import androidx.compose.foundation.layout.fillMaxWidth
|
||||||
|
import androidx.compose.foundation.layout.height
|
||||||
|
import androidx.compose.foundation.rememberScrollState
|
||||||
|
import androidx.compose.foundation.verticalScroll
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.runtime.Stable
|
import androidx.compose.runtime.Stable
|
||||||
import androidx.compose.runtime.mutableStateOf
|
import androidx.compose.runtime.mutableStateOf
|
||||||
@@ -35,7 +41,9 @@ import androidx.compose.ui.Modifier
|
|||||||
import androidx.compose.ui.input.nestedscroll.nestedScroll
|
import androidx.compose.ui.input.nestedscroll.nestedScroll
|
||||||
import androidx.compose.ui.layout.Layout
|
import androidx.compose.ui.layout.Layout
|
||||||
import androidx.compose.ui.layout.ParentDataModifier
|
import androidx.compose.ui.layout.ParentDataModifier
|
||||||
|
import androidx.compose.ui.platform.LocalDensity
|
||||||
import androidx.compose.ui.platform.LocalLayoutDirection
|
import androidx.compose.ui.platform.LocalLayoutDirection
|
||||||
|
import androidx.compose.ui.unit.Constraints
|
||||||
import androidx.compose.ui.unit.Density
|
import androidx.compose.ui.unit.Density
|
||||||
import androidx.compose.ui.unit.IntSize
|
import androidx.compose.ui.unit.IntSize
|
||||||
import kotlin.math.max
|
import kotlin.math.max
|
||||||
@@ -87,6 +95,7 @@ fun CollapsingToolbarScaffold(
|
|||||||
enabled: Boolean = true,
|
enabled: Boolean = true,
|
||||||
toolbarModifier: Modifier = Modifier,
|
toolbarModifier: Modifier = Modifier,
|
||||||
toolbarClipToBounds: Boolean = true,
|
toolbarClipToBounds: Boolean = true,
|
||||||
|
toolbarScrollable: Boolean = false,
|
||||||
toolbar: @Composable CollapsingToolbarScope.() -> Unit,
|
toolbar: @Composable CollapsingToolbarScope.() -> Unit,
|
||||||
body: @Composable CollapsingToolbarScaffoldScope.() -> Unit
|
body: @Composable CollapsingToolbarScaffoldScope.() -> Unit
|
||||||
) {
|
) {
|
||||||
@@ -98,6 +107,7 @@ fun CollapsingToolbarScaffold(
|
|||||||
}
|
}
|
||||||
|
|
||||||
val toolbarState = state.toolbarState
|
val toolbarState = state.toolbarState
|
||||||
|
val toolbarScrollState = rememberScrollState()
|
||||||
|
|
||||||
Layout(
|
Layout(
|
||||||
content = {
|
content = {
|
||||||
@@ -106,6 +116,12 @@ fun CollapsingToolbarScaffold(
|
|||||||
clipToBounds = toolbarClipToBounds,
|
clipToBounds = toolbarClipToBounds,
|
||||||
collapsingToolbarState = toolbarState,
|
collapsingToolbarState = toolbarState,
|
||||||
) {
|
) {
|
||||||
|
ToolbarScrollableBox(
|
||||||
|
enabled,
|
||||||
|
toolbarScrollable,
|
||||||
|
toolbarState,
|
||||||
|
toolbarScrollState
|
||||||
|
)
|
||||||
toolbar()
|
toolbar()
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -181,6 +197,24 @@ fun CollapsingToolbarScaffold(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Composable
|
||||||
|
private fun ToolbarScrollableBox(
|
||||||
|
enabled: Boolean,
|
||||||
|
toolbarScrollable: Boolean,
|
||||||
|
toolbarState: CollapsingToolbarState,
|
||||||
|
toolbarScrollState: ScrollState
|
||||||
|
) {
|
||||||
|
val toolbarScrollableEnabled = enabled && toolbarScrollable
|
||||||
|
if (toolbarScrollableEnabled && toolbarState.height != Constraints.Infinity) {
|
||||||
|
Box(
|
||||||
|
modifier = Modifier
|
||||||
|
.fillMaxWidth()
|
||||||
|
.height(with(LocalDensity.current) { toolbarState.height.toDp() })
|
||||||
|
.verticalScroll(state = toolbarScrollState)
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
internal object CollapsingToolbarScaffoldScopeInstance: CollapsingToolbarScaffoldScope {
|
internal object CollapsingToolbarScaffoldScopeInstance: CollapsingToolbarScaffoldScope {
|
||||||
@ExperimentalToolbarApi
|
@ExperimentalToolbarApi
|
||||||
override fun Modifier.align(alignment: Alignment): Modifier =
|
override fun Modifier.align(alignment: Alignment): Modifier =
|
||||||
|
|||||||
@@ -15,6 +15,7 @@ fun ToolbarWithFabScaffold(
|
|||||||
toolbarModifier: Modifier = Modifier,
|
toolbarModifier: Modifier = Modifier,
|
||||||
toolbarClipToBounds: Boolean = true,
|
toolbarClipToBounds: Boolean = true,
|
||||||
toolbar: @Composable CollapsingToolbarScope.() -> Unit,
|
toolbar: @Composable CollapsingToolbarScope.() -> Unit,
|
||||||
|
toolbarScrollable: Boolean = false,
|
||||||
fab: @Composable () -> Unit,
|
fab: @Composable () -> Unit,
|
||||||
fabPosition: FabPosition = FabPosition.End,
|
fabPosition: FabPosition = FabPosition.End,
|
||||||
body: @Composable CollapsingToolbarScaffoldScope.() -> Unit
|
body: @Composable CollapsingToolbarScaffoldScope.() -> Unit
|
||||||
@@ -37,7 +38,8 @@ fun ToolbarWithFabScaffold(
|
|||||||
toolbarModifier = toolbarModifier,
|
toolbarModifier = toolbarModifier,
|
||||||
toolbarClipToBounds = toolbarClipToBounds,
|
toolbarClipToBounds = toolbarClipToBounds,
|
||||||
toolbar = toolbar,
|
toolbar = toolbar,
|
||||||
body = body
|
body = body,
|
||||||
|
toolbarScrollable = toolbarScrollable
|
||||||
)
|
)
|
||||||
}.map { it.measure(toolbarScaffoldConstraints) }
|
}.map { it.measure(toolbarScaffoldConstraints) }
|
||||||
|
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ import androidx.activity.compose.rememberLauncherForActivityResult
|
|||||||
import androidx.activity.result.contract.ActivityResultContracts
|
import androidx.activity.result.contract.ActivityResultContracts
|
||||||
import androidx.compose.foundation.ExperimentalFoundationApi
|
import androidx.compose.foundation.ExperimentalFoundationApi
|
||||||
import androidx.compose.foundation.Image
|
import androidx.compose.foundation.Image
|
||||||
|
import androidx.compose.foundation.ScrollState
|
||||||
import androidx.compose.foundation.background
|
import androidx.compose.foundation.background
|
||||||
import androidx.compose.foundation.layout.Arrangement
|
import androidx.compose.foundation.layout.Arrangement
|
||||||
import androidx.compose.foundation.layout.Box
|
import androidx.compose.foundation.layout.Box
|
||||||
@@ -33,6 +34,7 @@ import androidx.compose.foundation.pager.HorizontalPager
|
|||||||
import androidx.compose.foundation.pager.rememberPagerState
|
import androidx.compose.foundation.pager.rememberPagerState
|
||||||
import androidx.compose.foundation.shape.CircleShape
|
import androidx.compose.foundation.shape.CircleShape
|
||||||
import androidx.compose.foundation.shape.RoundedCornerShape
|
import androidx.compose.foundation.shape.RoundedCornerShape
|
||||||
|
import androidx.compose.foundation.verticalScroll
|
||||||
import androidx.compose.material.Text
|
import androidx.compose.material.Text
|
||||||
import androidx.compose.material.icons.Icons
|
import androidx.compose.material.icons.Icons
|
||||||
import androidx.compose.material.icons.filled.Add
|
import androidx.compose.material.icons.filled.Add
|
||||||
@@ -48,8 +50,12 @@ import androidx.compose.ui.Modifier
|
|||||||
import androidx.compose.ui.draw.alpha
|
import androidx.compose.ui.draw.alpha
|
||||||
import androidx.compose.ui.draw.clip
|
import androidx.compose.ui.draw.clip
|
||||||
import androidx.compose.ui.draw.shadow
|
import androidx.compose.ui.draw.shadow
|
||||||
|
import androidx.compose.ui.geometry.Offset
|
||||||
import androidx.compose.ui.graphics.Color
|
import androidx.compose.ui.graphics.Color
|
||||||
import androidx.compose.ui.graphics.graphicsLayer
|
import androidx.compose.ui.graphics.graphicsLayer
|
||||||
|
import androidx.compose.ui.input.nestedscroll.NestedScrollConnection
|
||||||
|
import androidx.compose.ui.input.nestedscroll.NestedScrollSource
|
||||||
|
import androidx.compose.ui.input.nestedscroll.nestedScroll
|
||||||
import androidx.compose.ui.layout.ContentScale
|
import androidx.compose.ui.layout.ContentScale
|
||||||
import androidx.compose.ui.layout.onGloballyPositioned
|
import androidx.compose.ui.layout.onGloballyPositioned
|
||||||
import androidx.compose.ui.platform.LocalContext
|
import androidx.compose.ui.platform.LocalContext
|
||||||
@@ -58,8 +64,11 @@ import androidx.compose.ui.res.stringResource
|
|||||||
import androidx.compose.ui.text.font.FontWeight
|
import androidx.compose.ui.text.font.FontWeight
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import androidx.compose.ui.unit.sp
|
import androidx.compose.ui.unit.sp
|
||||||
|
import androidx.media3.common.util.Log
|
||||||
|
import androidx.media3.common.util.UnstableApi
|
||||||
import androidx.paging.PagingData
|
import androidx.paging.PagingData
|
||||||
import androidx.paging.compose.collectAsLazyPagingItems
|
import androidx.paging.compose.collectAsLazyPagingItems
|
||||||
|
import com.aiosman.riderpro.AppState
|
||||||
import com.aiosman.riderpro.LocalNavController
|
import com.aiosman.riderpro.LocalNavController
|
||||||
import com.aiosman.riderpro.R
|
import com.aiosman.riderpro.R
|
||||||
import com.aiosman.riderpro.entity.AccountProfileEntity
|
import com.aiosman.riderpro.entity.AccountProfileEntity
|
||||||
@@ -122,9 +131,12 @@ fun ProfileV3(
|
|||||||
|
|
||||||
Box {
|
Box {
|
||||||
CollapsingToolbarScaffold(
|
CollapsingToolbarScaffold(
|
||||||
modifier = Modifier.fillMaxSize(),
|
modifier = Modifier
|
||||||
|
.fillMaxSize()
|
||||||
|
.background(Color(0xfff8f8f8)),
|
||||||
state = state,
|
state = state,
|
||||||
scrollStrategy = ScrollStrategy.ExitUntilCollapsed,
|
scrollStrategy = ScrollStrategy.ExitUntilCollapsed,
|
||||||
|
toolbarScrollable = true,
|
||||||
enabled = enabled,
|
enabled = enabled,
|
||||||
toolbar = {
|
toolbar = {
|
||||||
Column(
|
Column(
|
||||||
@@ -133,8 +145,6 @@ fun ProfileV3(
|
|||||||
// 保持在最低高度和当前高度之间
|
// 保持在最低高度和当前高度之间
|
||||||
.background(Color(0xfff8f8f8))
|
.background(Color(0xfff8f8f8))
|
||||||
.padding(horizontal = 16.dp)
|
.padding(horizontal = 16.dp)
|
||||||
|
|
||||||
|
|
||||||
) {
|
) {
|
||||||
StatusBarSpacer()
|
StatusBarSpacer()
|
||||||
|
|
||||||
@@ -161,20 +171,6 @@ fun ProfileV3(
|
|||||||
}
|
}
|
||||||
Spacer(modifier = Modifier.height(8.dp))
|
Spacer(modifier = Modifier.height(8.dp))
|
||||||
}
|
}
|
||||||
// Column(
|
|
||||||
// modifier = Modifier.fillMaxWidth()
|
|
||||||
//
|
|
||||||
// ) {
|
|
||||||
// StatusBarSpacer()
|
|
||||||
// Box(
|
|
||||||
// modifier = Modifier
|
|
||||||
// .background(Color.White)
|
|
||||||
// .fillMaxWidth()
|
|
||||||
// .height(64.dp)
|
|
||||||
// ) {
|
|
||||||
//
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
Box(
|
Box(
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
.parallax(0.5f)
|
.parallax(0.5f)
|
||||||
@@ -333,6 +329,7 @@ fun ProfileV3(
|
|||||||
navController.navigate(NavigationRoute.AccountEdit.route)
|
navController.navigate(NavigationRoute.AccountEdit.route)
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
if (it.id != AppState.UserId) {
|
||||||
OtherProfileAction(
|
OtherProfileAction(
|
||||||
it,
|
it,
|
||||||
onFollow = {
|
onFollow = {
|
||||||
@@ -345,6 +342,8 @@ fun ProfileV3(
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// collapsed bar
|
// collapsed bar
|
||||||
@@ -426,7 +425,7 @@ fun ProfileV3(
|
|||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
.fillMaxSize()
|
.fillMaxSize()
|
||||||
) {
|
) {
|
||||||
if (moments.itemCount == 0) {
|
if (moments.itemCount == 0 && isSelf) {
|
||||||
item {
|
item {
|
||||||
EmptyMomentPostUnit()
|
EmptyMomentPostUnit()
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,7 +9,9 @@ import androidx.compose.foundation.layout.fillMaxWidth
|
|||||||
import androidx.compose.foundation.layout.padding
|
import androidx.compose.foundation.layout.padding
|
||||||
import androidx.compose.foundation.layout.width
|
import androidx.compose.foundation.layout.width
|
||||||
import androidx.compose.foundation.pager.PagerState
|
import androidx.compose.foundation.pager.PagerState
|
||||||
|
import androidx.compose.foundation.rememberScrollState
|
||||||
import androidx.compose.foundation.shape.RoundedCornerShape
|
import androidx.compose.foundation.shape.RoundedCornerShape
|
||||||
|
import androidx.compose.foundation.verticalScroll
|
||||||
import androidx.compose.material3.Text
|
import androidx.compose.material3.Text
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.runtime.rememberCoroutineScope
|
import androidx.compose.runtime.rememberCoroutineScope
|
||||||
@@ -33,6 +35,7 @@ fun UserContentPageIndicator(
|
|||||||
val scope = rememberCoroutineScope()
|
val scope = rememberCoroutineScope()
|
||||||
Row(
|
Row(
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
|
.verticalScroll(rememberScrollState())
|
||||||
.fillMaxWidth()
|
.fillMaxWidth()
|
||||||
.padding(horizontal = 16.dp),
|
.padding(horizontal = 16.dp),
|
||||||
) {
|
) {
|
||||||
|
|||||||
@@ -114,7 +114,6 @@ fun LikeNoticeScreen() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun ActionPostNoticeItem(
|
fun ActionPostNoticeItem(
|
||||||
avatar: String,
|
avatar: String,
|
||||||
@@ -165,8 +164,8 @@ fun ActionPostNoticeItem(
|
|||||||
Text(nickName, fontWeight = FontWeight.Bold, fontSize = 16.sp)
|
Text(nickName, fontWeight = FontWeight.Bold, fontSize = 16.sp)
|
||||||
Spacer(modifier = Modifier.height(2.dp))
|
Spacer(modifier = Modifier.height(2.dp))
|
||||||
when (action) {
|
when (action) {
|
||||||
"like" -> Text("Like your post")
|
"like" -> Text(stringResource(R.string.like_your_post))
|
||||||
"favourite" -> Text("Favourite your post")
|
"favourite" -> Text(stringResource(R.string.favourite_your_post))
|
||||||
}
|
}
|
||||||
Spacer(modifier = Modifier.height(2.dp))
|
Spacer(modifier = Modifier.height(2.dp))
|
||||||
Row {
|
Row {
|
||||||
@@ -190,7 +189,9 @@ fun LikeCommentNoticeItem(
|
|||||||
val navController = LocalNavController.current
|
val navController = LocalNavController.current
|
||||||
val context = LocalContext.current
|
val context = LocalContext.current
|
||||||
Box(
|
Box(
|
||||||
modifier = Modifier.padding(vertical = 16.dp).noRippleClickable {
|
modifier = Modifier
|
||||||
|
.padding(vertical = 16.dp)
|
||||||
|
.noRippleClickable {
|
||||||
item.comment?.postId.let {
|
item.comment?.postId.let {
|
||||||
navController.navigateToPost(
|
navController.navigateToPost(
|
||||||
id = it ?: 0,
|
id = it ?: 0,
|
||||||
@@ -213,7 +214,7 @@ fun LikeCommentNoticeItem(
|
|||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
.size(48.dp)
|
.size(48.dp)
|
||||||
.clip(CircleShape),
|
.clip(CircleShape),
|
||||||
contentDescription = "Like your comment"
|
contentDescription = stringResource(R.string.like_your_comment)
|
||||||
)
|
)
|
||||||
Spacer(modifier = Modifier.width(12.dp))
|
Spacer(modifier = Modifier.width(12.dp))
|
||||||
Column(
|
Column(
|
||||||
@@ -222,7 +223,7 @@ fun LikeCommentNoticeItem(
|
|||||||
) {
|
) {
|
||||||
Text(item.user.nickName, fontWeight = FontWeight.Bold, fontSize = 16.sp)
|
Text(item.user.nickName, fontWeight = FontWeight.Bold, fontSize = 16.sp)
|
||||||
Spacer(modifier = Modifier.height(2.dp))
|
Spacer(modifier = Modifier.height(2.dp))
|
||||||
Text("Like your comment")
|
Text(stringResource(R.string.like_your_comment))
|
||||||
Spacer(modifier = Modifier.height(2.dp))
|
Spacer(modifier = Modifier.height(2.dp))
|
||||||
Row {
|
Row {
|
||||||
Text(
|
Text(
|
||||||
|
|||||||
@@ -76,4 +76,7 @@
|
|||||||
<string name="private_policy_keyword">用户协议</string>
|
<string name="private_policy_keyword">用户协议</string>
|
||||||
<string name="gallery">图片</string>
|
<string name="gallery">图片</string>
|
||||||
<string name="chat_upper">私信</string>
|
<string name="chat_upper">私信</string>
|
||||||
|
<string name="like_your_post">喜欢了你的动态</string>
|
||||||
|
<string name="favourite_your_post">收藏了你的动态</string>
|
||||||
|
<string name="like_your_comment">喜欢了你的评论</string>
|
||||||
</resources>
|
</resources>
|
||||||
@@ -75,4 +75,7 @@
|
|||||||
<string name="private_policy_keyword">Rider Pro’s Privacy Policy</string>
|
<string name="private_policy_keyword">Rider Pro’s Privacy Policy</string>
|
||||||
<string name="gallery">Gallery</string>
|
<string name="gallery">Gallery</string>
|
||||||
<string name="chat_upper">CHAT</string>
|
<string name="chat_upper">CHAT</string>
|
||||||
|
<string name="like_your_post">Like your post</string>
|
||||||
|
<string name="favourite_your_post">Favourite your post</string>
|
||||||
|
<string name="like_your_comment">Like your comment</string>
|
||||||
</resources>
|
</resources>
|
||||||
Reference in New Issue
Block a user