summaryrefslogtreecommitdiff
path: root/Juick/Views/BubbleMessageCell.swift
diff options
context:
space:
mode:
Diffstat (limited to 'Juick/Views/BubbleMessageCell.swift')
-rw-r--r--Juick/Views/BubbleMessageCell.swift35
1 files changed, 35 insertions, 0 deletions
diff --git a/Juick/Views/BubbleMessageCell.swift b/Juick/Views/BubbleMessageCell.swift
new file mode 100644
index 0000000..fcd9381
--- /dev/null
+++ b/Juick/Views/BubbleMessageCell.swift
@@ -0,0 +1,35 @@
+//
+// BubbleMessageCell.swift
+// Juick
+//
+// Created by Vitaly Takmazov on 13.05.2023.
+// Copyright © 2023 com.juick. All rights reserved.
+//
+
+import UIKit
+
+@objc
+class BubbleMessageCell: UITableViewCell {
+ @IBOutlet weak var avatarView: UIImageView!
+ @IBOutlet weak var unreadMarker: UILabel!
+ @IBOutlet weak var name: UILabel!
+ @IBOutlet weak var message: UITextView!
+
+ @objc
+ func configure(message: Message, isMe: Bool) {
+ self.message.backgroundColor = isMe ? UIColor(named: "Title") : UIColor(named: "Chat")
+ self.message.textColor = isMe ? UIColor.white : UIColor(named: "Text")
+ self.message.dataDetectorTypes = .all
+ self.message.tintColor = isMe ? UIColor.white : UIColor(named: "Title")
+ self.name.text = message.user.uname
+ self.message.text = message.text
+ self.unreadMarker.text = ""
+ AppDelegate.shared().api.fetchImage(with: URL(string: message.user.avatar)) { data in
+ if let imageData = data {
+ UIView.transition(with: self.avatarView, duration: 0.3, options: .transitionCrossDissolve, animations: {
+ self.avatarView.image = UIImage(data: imageData)
+ })
+ }
+ }
+ }
+}