patch display without avatars
This commit is contained in:
parent
4ee1e20527
commit
fd96ca7cbc
@ -63,14 +63,27 @@ extension UserSearchResult {
|
|||||||
}
|
}
|
||||||
|
|
||||||
var avatarInitial: String {
|
var avatarInitial: String {
|
||||||
let source = preferredCustomName
|
let nameSource: String?
|
||||||
?? officialFullName
|
if let customName = preferredCustomName, !customName.trimmingCharacters(in: .whitespacesAndNewlines).isEmpty {
|
||||||
?? login
|
nameSource = customName
|
||||||
?? userId.uuidString
|
} else if let fullName = officialFullName, !fullName.trimmingCharacters(in: .whitespacesAndNewlines).isEmpty {
|
||||||
|
nameSource = fullName
|
||||||
if let character = source.first(where: { !$0.isWhitespace && $0 != "@" }) {
|
} else {
|
||||||
return String(character).uppercased()
|
nameSource = nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if let name = nameSource {
|
||||||
|
let components = name.split(separator: " ")
|
||||||
|
let nameInitials = components.prefix(2).compactMap { $0.first }
|
||||||
|
if !nameInitials.isEmpty {
|
||||||
|
return nameInitials.map { String($0) }.joined().uppercased()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if let login = login, !login.trimmingCharacters(in: .whitespacesAndNewlines).isEmpty {
|
||||||
|
return String(login.prefix(1)).uppercased()
|
||||||
|
}
|
||||||
|
|
||||||
return "?"
|
return "?"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -976,24 +976,27 @@ private struct ChatRowView: View {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private var initial: String {
|
private var initial: String {
|
||||||
let sourceName: String
|
let nameSource: String?
|
||||||
|
if let customName = chat.chatData?.customName, !customName.trimmingCharacters(in: .whitespacesAndNewlines).isEmpty {
|
||||||
if let custom = chat.chatData?.customName, !custom.trimmingCharacters(in: .whitespacesAndNewlines).isEmpty {
|
nameSource = customName
|
||||||
sourceName = custom
|
} else if let fullName = chat.chatData?.fullName, !fullName.trimmingCharacters(in: .whitespacesAndNewlines).isEmpty {
|
||||||
} else if let displayName = officialDisplayName {
|
nameSource = fullName
|
||||||
sourceName = displayName
|
|
||||||
} else if let full = chat.chatData?.fullName?.trimmingCharacters(in: .whitespacesAndNewlines), !full.isEmpty {
|
|
||||||
sourceName = full
|
|
||||||
} else if let login = chat.chatData?.login?.trimmingCharacters(in: .whitespacesAndNewlines), !login.isEmpty {
|
|
||||||
sourceName = login
|
|
||||||
} else {
|
} else {
|
||||||
sourceName = NSLocalizedString("Неизвестный пользователь", comment: "")
|
nameSource = nil
|
||||||
}
|
}
|
||||||
|
|
||||||
if let character = sourceName.first(where: { !$0.isWhitespace && $0 != "@" }) {
|
if let name = nameSource {
|
||||||
return String(character).uppercased()
|
let components = name.split(separator: " ")
|
||||||
|
let nameInitials = components.prefix(2).compactMap { $0.first }
|
||||||
|
if !nameInitials.isEmpty {
|
||||||
|
return nameInitials.map { String($0) }.joined().uppercased()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if let login = chat.chatData?.login, !login.trimmingCharacters(in: .whitespacesAndNewlines).isEmpty {
|
||||||
|
return String(login.prefix(1)).uppercased()
|
||||||
|
}
|
||||||
|
|
||||||
return "?"
|
return "?"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -295,20 +295,24 @@ private struct Contact: Identifiable, Equatable {
|
|||||||
let handle: String?
|
let handle: String?
|
||||||
|
|
||||||
var initials: String {
|
var initials: String {
|
||||||
let components = displayName.split(separator: " ")
|
let nameSource: String?
|
||||||
let nameInitials = components.prefix(2).compactMap { $0.first }
|
if let customName, !customName.trimmingCharacters(in: .whitespacesAndNewlines).isEmpty {
|
||||||
if !nameInitials.isEmpty {
|
nameSource = customName
|
||||||
return nameInitials
|
} else if let fullName, !fullName.trimmingCharacters(in: .whitespacesAndNewlines).isEmpty {
|
||||||
.map { String($0).uppercased() }
|
nameSource = fullName
|
||||||
.joined()
|
} else {
|
||||||
|
nameSource = nil
|
||||||
}
|
}
|
||||||
|
|
||||||
let filtered = login.filter { $0.isLetter }.prefix(2)
|
if let name = nameSource {
|
||||||
if !filtered.isEmpty {
|
let components = name.split(separator: " ")
|
||||||
return filtered.uppercased()
|
let nameInitials = components.prefix(2).compactMap { $0.first }
|
||||||
|
if !nameInitials.isEmpty {
|
||||||
|
return nameInitials.map { String($0) }.joined().uppercased()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return "??"
|
return String(login.prefix(1)).uppercased()
|
||||||
}
|
}
|
||||||
|
|
||||||
var formattedCreatedAt: String {
|
var formattedCreatedAt: String {
|
||||||
|
|||||||
@ -227,22 +227,24 @@ private struct BlockedUser: Identifiable, Equatable {
|
|||||||
private(set) var handle: String?
|
private(set) var handle: String?
|
||||||
|
|
||||||
var initials: String {
|
var initials: String {
|
||||||
let components = displayName.split(separator: " ")
|
let nameSource: String?
|
||||||
let nameInitials = components.prefix(2).compactMap { $0.first }
|
if let customName, !customName.trimmingCharacters(in: .whitespacesAndNewlines).isEmpty {
|
||||||
if !nameInitials.isEmpty {
|
nameSource = customName
|
||||||
return nameInitials
|
} else if let fullName, !fullName.trimmingCharacters(in: .whitespacesAndNewlines).isEmpty {
|
||||||
.map { String($0).uppercased() }
|
nameSource = fullName
|
||||||
.joined()
|
} else {
|
||||||
|
nameSource = nil
|
||||||
}
|
}
|
||||||
|
|
||||||
if let handle {
|
if let name = nameSource {
|
||||||
let filtered = handle.filter { $0.isLetter }.prefix(2)
|
let components = name.split(separator: " ")
|
||||||
if !filtered.isEmpty {
|
let nameInitials = components.prefix(2).compactMap { $0.first }
|
||||||
return filtered.uppercased()
|
if !nameInitials.isEmpty {
|
||||||
|
return nameInitials.map { String($0) }.joined().uppercased()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return "??"
|
return String(login.prefix(1)).uppercased()
|
||||||
}
|
}
|
||||||
|
|
||||||
init(payload: BlockedUserInfo) {
|
init(payload: BlockedUserInfo) {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user