feat(chat-room) AI 메시지에 이미지를 표시할 수 있도록 수정
This commit is contained in:
@@ -87,7 +87,24 @@ struct AiMessageItemView: View {
|
|||||||
.foregroundColor(.white)
|
.foregroundColor(.white)
|
||||||
}
|
}
|
||||||
|
|
||||||
// 메시지 버블
|
// 메시지 내용 (텍스트 또는 이미지)
|
||||||
|
if message.messageType.lowercased() == "image", let imageUrl = message.imageUrl, !imageUrl.isEmpty {
|
||||||
|
// 이미지 메시지
|
||||||
|
let maxWidth = (UIScreen.main.bounds.width - 48) * 0.7
|
||||||
|
let imageHeight = maxWidth * 5 / 4 // 4:5 비율
|
||||||
|
|
||||||
|
KFImage(URL(string: imageUrl))
|
||||||
|
.placeholder {
|
||||||
|
Rectangle()
|
||||||
|
.fill(Color.gray.opacity(0.3))
|
||||||
|
.frame(width: maxWidth, height: imageHeight)
|
||||||
|
}
|
||||||
|
.resizable()
|
||||||
|
.aspectRatio(4/5, contentMode: .fit)
|
||||||
|
.frame(width: maxWidth, height: imageHeight)
|
||||||
|
.cornerRadius(10)
|
||||||
|
} else {
|
||||||
|
// 텍스트 메시지 버블
|
||||||
HStack(spacing: 10) {
|
HStack(spacing: 10) {
|
||||||
styledMessageText(message.message)
|
styledMessageText(message.message)
|
||||||
.lineLimit(nil)
|
.lineLimit(nil)
|
||||||
@@ -101,6 +118,7 @@ struct AiMessageItemView: View {
|
|||||||
.clipShape(AiMessageBubbleShape())
|
.clipShape(AiMessageBubbleShape())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// 시간 표시
|
// 시간 표시
|
||||||
VStack {
|
VStack {
|
||||||
@@ -165,12 +183,12 @@ struct AiMessageItemView: View {
|
|||||||
AiMessageItemView(
|
AiMessageItemView(
|
||||||
message: ServerChatMessage(
|
message: ServerChatMessage(
|
||||||
messageId: 1,
|
messageId: 1,
|
||||||
message: "(언제부턴가) 너랑 노는게 제일 재밌고\n너랑 이야기 하는게 제일 신나더라,\n앞으로도 그럴 것 같아❤️",
|
message: "",
|
||||||
profileImageUrl: "https://example.com/profile.jpg",
|
profileImageUrl: "https://example.com/profile.jpg",
|
||||||
mine: false,
|
mine: false,
|
||||||
createdAt: Date().currentTimeMillis(),
|
createdAt: Date().currentTimeMillis(),
|
||||||
messageType: "text",
|
messageType: "IMAGE",
|
||||||
imageUrl: nil,
|
imageUrl: "https://picsum.photos/1000",
|
||||||
price: nil,
|
price: nil,
|
||||||
hasAccess: true
|
hasAccess: true
|
||||||
),
|
),
|
||||||
|
|||||||
Reference in New Issue
Block a user