Display last name in widget

This commit is contained in:
Ali 2019-11-12 17:49:10 +04:00
parent 9f40bb0f2f
commit 4e1c649df3
4 changed files with 25 additions and 4 deletions

View File

@ -130,11 +130,17 @@ final class PeerView: UIView {
self.avatarView = AvatarView(accountPeerId: accountPeerId, peer: peer, size: avatarSize)
self.titleLabel = UILabel()
let title = peer.name
var title = peer.name
if let lastName = peer.lastName, !lastName.isEmpty {
title.append("\n")
title.append(lastName)
}
self.titleLabel.text = title
self.titleLabel.textColor = primaryColor
self.titleLabel.font = UIFont.systemFont(ofSize: 11.0)
self.titleLabel.lineBreakMode = .byTruncatingTail
self.titleLabel.numberOfLines = 2
self.titleLabel.textAlignment = .center
super.init(frame: CGRect())

View File

@ -171,7 +171,7 @@ class TodayViewController: UIViewController, NCWidgetProviding {
offset = floor(spacing / 2.0)
for i in 0 ..< peerFrames.count {
let peerView = self.peerViews[i]
peerView.frame = CGRect(origin: CGPoint(x: offset, y: 20.0), size: peerFrames[i].size)
peerView.frame = CGRect(origin: CGPoint(x: offset, y: 16.0), size: peerFrames[i].size)
peerView.updateLayout(size: peerFrames[i].size)
offset += peerFrames[i].width + spacing
}

View File

@ -32,7 +32,20 @@ final class WidgetDataContext {
guard let user = peer as? TelegramUser else {
return nil
}
return WidgetDataPeer(id: user.id.toInt64(), name: user.shortNameOrPhone ?? "", letters: user.displayLetters, avatarPath: smallestImageRepresentation(user.photo).flatMap { representation in
var name: String = ""
var lastName: String?
if let firstName = user.firstName {
name = firstName
lastName = user.lastName
} else if let lastName = user.lastName {
name = lastName
} else if let phone = user.phone, !phone.isEmpty {
name = phone
}
return WidgetDataPeer(id: user.id.toInt64(), name: name, lastName: lastName, letters: user.displayLetters, avatarPath: smallestImageRepresentation(user.photo).flatMap { representation in
return account.postbox.mediaBox.resourcePath(representation.resource)
})
}))

View File

@ -7,12 +7,14 @@ public enum WidgetCodingError: Error {
public struct WidgetDataPeer: Codable, Equatable {
public var id: Int64
public var name: String
public var lastName: String?
public var letters: [String]
public var avatarPath: String?
public init(id: Int64, name: String, letters: [String], avatarPath: String?) {
public init(id: Int64, name: String, lastName: String?, letters: [String], avatarPath: String?) {
self.id = id
self.name = name
self.lastName = lastName
self.letters = letters
self.avatarPath = avatarPath
}