feat(chat-room): 채팅방 이미지 메시지

- 구매한 이미지 터치시 구매한 이미지만 모아볼 수 있는 뷰어 추가
This commit is contained in:
Yu Sung
2025-09-04 07:27:24 +09:00
parent f98f625200
commit b06ffcc97c
3 changed files with 37 additions and 10 deletions

View File

@@ -33,6 +33,16 @@ final class ChatRoomViewModel: ObservableObject {
@Published var selectedMessage: ServerChatMessage? = nil
@Published var selectedMessageIndex: Int = -1
@Published var isShowImageViewer = false
@Published var selectedImageIndex: Int = 0
var ownedImageUrls: [String] {
return messages
.filter { $0.hasAccess }
.filter { $0.messageType.lowercased() == "image" && $0.imageUrl != nil && !$0.imageUrl.isNullOrBlank() }
.map { $0.imageUrl! }
}
// MARK: - Private
private let userRepository = UserRepository()
private let repository = ChatRoomRepository()
@@ -281,6 +291,13 @@ final class ChatRoomViewModel: ObservableObject {
.store(in: &subscription)
}
func showImageViewer(_ imageUrl: String?) {
if let imageUrl = imageUrl {
selectedImageIndex = ownedImageUrls.firstIndex(of: imageUrl) ?? 0
isShowImageViewer = true
}
}
private func checkQuotaStatus() {
isLoading = true