This commit is contained in:
Eric85710 2026-05-24 17:02:32 +08:00
parent 8aabfd39dc
commit 816983a45c

View file

@ -212,7 +212,6 @@ fun MessageList(
messages: List<Message>, messages: List<Message>,
modifier: Modifier = Modifier modifier: Modifier = Modifier
) { ) {
LazyColumn( LazyColumn(
modifier = modifier.fillMaxSize(), modifier = modifier.fillMaxSize(),
contentPadding = PaddingValues(16.dp), contentPadding = PaddingValues(16.dp),
@ -224,7 +223,8 @@ fun MessageList(
message = message, message = message,
partnerAvatarUrl = partnerAvatarUrl, partnerAvatarUrl = partnerAvatarUrl,
partnerDisplayName = partnerDisplayName, partnerDisplayName = partnerDisplayName,
isMe = isMe isMe = isMe,
currentUserId = currentUserId
) )
} }
} }
@ -234,20 +234,21 @@ fun MessageList(
fun MessageRow( fun MessageRow(
message: Message, message: Message,
isMe: Boolean, isMe: Boolean,
partnerAvatarUrl: Any? , partnerAvatarUrl: Any?,
partnerDisplayName: String partnerDisplayName: String,
currentUserId: String // ✨ 新增參數
) { ) {
Row( Row(
modifier = Modifier.fillMaxWidth(), modifier = Modifier.fillMaxWidth(),
horizontalArrangement = if (isMe) Arrangement.End else Arrangement.Start horizontalArrangement = if (isMe) Arrangement.End else Arrangement.Start
) { ) {
// ✨ 如果是對方發的訊息,在對話框左邊顯示頭像 // 如果是對方發的訊息,在對話框左邊顯示頭像
if (!isMe) { if (!isMe) {
UserAvatar( UserAvatar(
avatarUrl = partnerAvatarUrl, avatarUrl = partnerAvatarUrl,
modifier = Modifier modifier = Modifier
.padding(end = 8.dp) .padding(end = 8.dp)
.size(32.dp) // 訊息旁的頭像稍微小一點 .size(32.dp)
) )
} }
@ -266,17 +267,27 @@ fun MessageRow(
.padding(horizontal = 12.dp, vertical = 8.dp) .padding(horizontal = 12.dp, vertical = 8.dp)
) { ) {
Column { Column {
if (!isMe) { // ✨ 這裡改成動態判斷顯示名稱
// ✨ 這裡成功的將原本的 message.senderId 改成對方的 display_name 了! if (isMe) {
// 如果是我,顯示自己的 currentUserId
Text(
text = currentUserId,
style = MaterialTheme.typography.labelSmall,
color = Color(0xFF4CAF50) // 可以給自己的名字換個顏色,比如綠色調,或者維持 Color.Gray
)
} else {
// 如果是對方,顯示對方的 partnerDisplayName
Text( Text(
text = partnerDisplayName, text = partnerDisplayName,
style = MaterialTheme.typography.labelSmall, style = MaterialTheme.typography.labelSmall,
color = Color.Gray color = Color.Gray
) )
} }
Text( Text(
text = message.content, text = message.content,
style = MaterialTheme.typography.bodyMedium style = MaterialTheme.typography.bodyMedium,
modifier = Modifier.padding(top = 2.dp) // 微調一下名字與內容的間距
) )
} }
} }