2020-09-24 23:23:28 +04:00

64 lines
2.0 KiB
Swift

import Foundation
import TelegramCore
import SyncCore
import Postbox
import TelegramPresentationData
import TelegramUIPreferences
import PhoneNumberFormat
public extension Peer {
var compactDisplayTitle: String {
switch self {
case let user as TelegramUser:
if let firstName = user.firstName, !firstName.isEmpty {
return firstName
} else if let lastName = user.lastName, !lastName.isEmpty {
return lastName
} else if let phone = user.phone {
return formatPhoneNumber("+\(phone)")
} else {
return ""
}
case let group as TelegramGroup:
return group.title
case let channel as TelegramChannel:
return channel.title
default:
return ""
}
}
func displayTitle(strings: PresentationStrings, displayOrder: PresentationPersonNameOrder) -> String {
switch self {
case let user as TelegramUser:
if user.id.isReplies {
return strings.DialogList_Replies
}
if let firstName = user.firstName, !firstName.isEmpty {
if let lastName = user.lastName, !lastName.isEmpty {
switch displayOrder {
case .firstLast:
return "\(firstName) \(lastName)"
case .lastFirst:
return "\(lastName) \(firstName)"
}
} else {
return firstName
}
} else if let lastName = user.lastName, !lastName.isEmpty {
return lastName
} else if let phone = user.phone {
return formatPhoneNumber("+\(phone)")
} else {
return strings.User_DeletedAccount
}
case let group as TelegramGroup:
return group.title
case let channel as TelegramChannel:
return channel.title
default:
return ""
}
}
}