App icon, group member annotations, variable spacing
This commit is contained in:
@@ -23,6 +23,10 @@ enum Display
|
||||
else { return participants.joined(separator: ", ") }
|
||||
}
|
||||
|
||||
var isGroupChat: Bool {
|
||||
participants.count > 1
|
||||
}
|
||||
|
||||
init(from c: Serialized.Conversation) {
|
||||
self.id = c.guid
|
||||
self.name = c.displayName
|
||||
@@ -62,7 +66,7 @@ enum Display
|
||||
}
|
||||
|
||||
self.attachments = m.attachments.map { attachment in
|
||||
ImageAttachment(from: attachment, sender: sender)
|
||||
ImageAttachment(from: attachment, dateSent: m.date, sender: sender)
|
||||
}
|
||||
|
||||
self.sender = sender
|
||||
@@ -89,6 +93,7 @@ enum Display
|
||||
{
|
||||
let id: String
|
||||
let sender: Sender
|
||||
let dateSent: Date
|
||||
let data: Serialized.Attachment
|
||||
|
||||
var size: CGSize? {
|
||||
@@ -107,21 +112,37 @@ enum Display
|
||||
data.previewPath
|
||||
}
|
||||
|
||||
init(from serialized: Serialized.Attachment, sender: Sender) {
|
||||
init(from serialized: Serialized.Attachment, dateSent: Date, sender: Sender) {
|
||||
self.id = serialized.guid
|
||||
self.sender = sender
|
||||
self.data = serialized
|
||||
self.dateSent = dateSent
|
||||
}
|
||||
}
|
||||
|
||||
enum Sender
|
||||
enum Sender: Identifiable, Equatable
|
||||
{
|
||||
case me
|
||||
case counterpart(String)
|
||||
|
||||
var id: String { displayName }
|
||||
|
||||
var isMe: Bool {
|
||||
if case .me = self { true } else { false }
|
||||
}
|
||||
|
||||
var displayName: String {
|
||||
switch self {
|
||||
case .me:
|
||||
"Me"
|
||||
case .counterpart(let string):
|
||||
string
|
||||
}
|
||||
}
|
||||
|
||||
static func ==(lhs: Sender, rhs: Sender) -> Bool {
|
||||
return lhs.displayName == rhs.displayName
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user