ui: fix unknown member UI (#3672)

This commit is contained in:
spaced4ndy 2024-01-11 20:21:58 +04:00 committed by GitHub
parent bfe5d51df7
commit 5b7a09f488
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 24 additions and 13 deletions

View File

@ -1801,7 +1801,8 @@ public struct GroupMember: Identifiable, Decodable {
public var displayName: String {
get {
let p = memberProfile
return p.localAlias == "" ? p.displayName : p.localAlias
let name = p.localAlias == "" ? p.displayName : p.localAlias
return pastMember(name)
}
}
public var fullName: String { get { memberProfile.fullName } }
@ -1827,14 +1828,16 @@ public struct GroupMember: Identifiable, Decodable {
? p.displayName + (p.fullName == "" || p.fullName == p.displayName ? "" : " / \(p.fullName)")
: p.localAlias
)
return (
memberStatus == .memUnknown
? String.localizedStringWithFormat(NSLocalizedString("_Previous member_ %@", comment: "previous/unknown group member"), name)
: name
)
return pastMember(name)
}
}
private func pastMember(_ name: String) -> String {
memberStatus == .memUnknown
? String.localizedStringWithFormat(NSLocalizedString("Past member %@", comment: "past/unknown group member"), name)
: name
}
public var memberActive: Bool {
switch memberStatus {
case .memRemoved: return false

View File

@ -1261,7 +1261,11 @@ data class GroupMember (
var activeConn: Connection? = null
) {
val id: String get() = "#$groupId @$groupMemberId"
val displayName: String get() = memberProfile.localAlias.ifEmpty { memberProfile.displayName }
val displayName: String
get() {
val name = memberProfile.localAlias.ifEmpty { memberProfile.displayName }
return pastMember(name)
}
val fullName: String get() = memberProfile.fullName
val image: String? get() = memberProfile.image
val contactLink: String? = memberProfile.contactLink
@ -1270,8 +1274,12 @@ data class GroupMember (
val chatViewName: String
get() {
val name = memberProfile.localAlias.ifEmpty { displayName + (if (fullName == "" || fullName == displayName) "" else " / $fullName") }
return pastMember(name)
}
private fun pastMember(name: String): String {
return if (memberStatus == GroupMemberStatus.MemUnknown)
String.format(generalGetString(MR.strings.previous_member_vName), name)
String.format(generalGetString(MR.strings.past_member_vName), name)
else
name
}

View File

@ -370,7 +370,7 @@ fun GroupMemberInfoLayout(
@Composable
fun GroupMemberInfoHeader(member: GroupMember) {
Column(
Modifier.padding(horizontal = 8.dp),
Modifier.padding(horizontal = 16.dp),
horizontalAlignment = Alignment.CenterHorizontally
) {
ProfileImage(size = 192.dp, member.image, color = if (isInDarkTheme()) GroupDark else SettingsSecondaryLight)

View File

@ -1230,7 +1230,7 @@
<string name="group_member_status_connecting">connecting</string>
<string name="group_member_status_unknown_short">unknown</string>
<string name="previous_member_vName"><![CDATA[<i>Previous member</i> %1$s]]></string>
<string name="past_member_vName">Past member %1$s</string>
<!-- AddGroupMembersView.kt -->
<string name="no_contacts_to_add">No contacts to add</string>