Rocket.Chat.ReactNative/ios/RocketChat Watch App/Formatters/RoomFormatter.swift

47 lines
849 B
Swift

import Foundation
final class RoomFormatter {
private let room: Room
private let server: Server
init(room: Room, server: Server) {
self.room = room
self.server = server
}
var title: String? {
if isGroupChat, (room.name == nil || room.name?.isEmpty == true), let usernames = room.usernames {
return usernames
.filter { $0 == server.loggedUser.username }
.sorted()
.joined(separator: ", ")
}
if room.t != "d" {
if let fname = room.fname {
return fname
} else if let name = room.name {
return name
}
}
if room.prid != nil || server.useRealName {
return room.fname
}
return room.name
}
var isGroupChat: Bool {
if let uids = room.uids, uids.count > 2 {
return true
}
if let usernames = room.usernames, usernames.count > 2 {
return true
}
return false
}
}