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

43 lines
793 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 == false), let usernames = room.usernames {
return usernames
.filter { $0 == server.loggedUser.username }
.sorted()
.joined(separator: ", ")
}
if room.t != "d" {
return room.fname ?? room.name
}
if room.prid != nil || server.useRealName {
return room.fname ?? room.name
}
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
}
}