区分动态发布者和其他用户在动态菜单中的操作权限

This commit is contained in:
2025-08-05 15:12:29 +08:00
parent a80711a475
commit 7ea75a4755

View File

@@ -696,7 +696,9 @@ fun Header(
onReportClick = { onReportClick = {
onReportClick() onReportClick()
expanded = false expanded = false
} },
userId = userId,
isCurrentUser = AppState.UserId?.toInt() == userId
) )
} }
} }
@@ -1375,25 +1377,26 @@ fun PostBottomBar(
fun PostMenuModal( fun PostMenuModal(
onDeleteClick: () -> Unit = {}, onDeleteClick: () -> Unit = {},
onReportClick: () -> Unit = {}, onReportClick: () -> Unit = {},
momentEntity: MomentEntity? = null userId: Int? = null,
isCurrentUser: Boolean = false
) { ) {
val AppColors = LocalAppTheme.current val AppColors = LocalAppTheme.current
Column( Column(
modifier = Modifier modifier = Modifier
.fillMaxWidth() .fillMaxWidth()
.height(160.dp)
.background(AppColors.background) .background(AppColors.background)
.padding(vertical = 47.dp, horizontal = 20.dp) .padding(vertical = 47.dp, horizontal = 20.dp)
) { ) {
Row( Row(
modifier = Modifier modifier = Modifier
.fillMaxWidth(), .fillMaxWidth(),
verticalAlignment = Alignment.CenterVertically verticalAlignment = Alignment.CenterVertically,
horizontalArrangement = Arrangement.Start
) { ) {
momentEntity?.let { if (isCurrentUser) {
// 显示删除选项给动态发布者
Column( Column(
modifier = Modifier.padding(end = 16.dp),
verticalArrangement = Arrangement.Center, verticalArrangement = Arrangement.Center,
horizontalAlignment = Alignment.CenterHorizontally horizontalAlignment = Alignment.CenterHorizontally
) { ) {
@@ -1422,39 +1425,39 @@ fun PostMenuModal(
color = AppColors.text color = AppColors.text
) )
} }
} } else {
} // 显示举报选项给其他用户
Column( Column(
modifier = Modifier.padding(end = 16.dp), verticalArrangement = Arrangement.Center,
verticalArrangement = Arrangement.Center, horizontalAlignment = Alignment.CenterHorizontally
horizontalAlignment = Alignment.CenterHorizontally ) {
) { Box(
Box( modifier = Modifier
modifier = Modifier .clip(CircleShape)
.clip(CircleShape) .noRippleClickable {
.noRippleClickable { onReportClick()
onReportClick() }
) {
Image(
painter = painterResource(id = R.drawable.rider_pro_moment_delete),
contentDescription = "",
modifier = Modifier.size(24.dp),
colorFilter = ColorFilter.tint(
AppColors.text
)
)
} }
) {
Image( Spacer(modifier = Modifier.height(8.dp))
painter = painterResource(id = R.drawable.rider_pro_moment_delete), Text(
contentDescription = "", text = stringResource(R.string.report),
modifier = Modifier.size(24.dp), fontSize = 11.sp,
colorFilter = ColorFilter.tint( fontWeight = FontWeight.Bold,
AppColors.text color = AppColors.text
) )
) }
} }
Spacer(modifier = Modifier.height(8.dp))
Text(
text = stringResource(R.string.report),
fontSize = 11.sp,
fontWeight = FontWeight.Bold,
color = AppColors.text
)
} }
} }
} }