dm-31
This commit is contained in:
parent
8aabfd39dc
commit
816983a45c
1 changed files with 20 additions and 9 deletions
|
|
@ -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) // 微調一下名字與內容的間距
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue