From 5b7a09f4883f30f772a0e1ec7f79c5e98f69e4c1 Mon Sep 17 00:00:00 2001 From: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com> Date: Thu, 11 Jan 2024 20:21:58 +0400 Subject: [PATCH] ui: fix unknown member UI (#3672) --- apps/ios/SimpleXChat/ChatTypes.swift | 15 +++++++++------ .../chat/simplex/common/model/ChatModel.kt | 18 +++++++++++++----- .../views/chat/group/GroupMemberInfoView.kt | 2 +- .../commonMain/resources/MR/base/strings.xml | 2 +- 4 files changed, 24 insertions(+), 13 deletions(-) diff --git a/apps/ios/SimpleXChat/ChatTypes.swift b/apps/ios/SimpleXChat/ChatTypes.swift index a40827003..b04891e39 100644 --- a/apps/ios/SimpleXChat/ChatTypes.swift +++ b/apps/ios/SimpleXChat/ChatTypes.swift @@ -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 diff --git a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/model/ChatModel.kt b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/model/ChatModel.kt index b76bc05a0..72150e55e 100644 --- a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/model/ChatModel.kt +++ b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/model/ChatModel.kt @@ -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,12 +1274,16 @@ data class GroupMember ( val chatViewName: String get() { val name = memberProfile.localAlias.ifEmpty { displayName + (if (fullName == "" || fullName == displayName) "" else " / $fullName") } - return if (memberStatus == GroupMemberStatus.MemUnknown) - String.format(generalGetString(MR.strings.previous_member_vName), name) - else - name + return pastMember(name) } + private fun pastMember(name: String): String { + return if (memberStatus == GroupMemberStatus.MemUnknown) + String.format(generalGetString(MR.strings.past_member_vName), name) + else + name + } + val memberActive: Boolean get() = when (this.memberStatus) { GroupMemberStatus.MemRemoved -> false GroupMemberStatus.MemLeft -> false diff --git a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chat/group/GroupMemberInfoView.kt b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chat/group/GroupMemberInfoView.kt index c6654dc81..bab7bb9be 100644 --- a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chat/group/GroupMemberInfoView.kt +++ b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chat/group/GroupMemberInfoView.kt @@ -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) diff --git a/apps/multiplatform/common/src/commonMain/resources/MR/base/strings.xml b/apps/multiplatform/common/src/commonMain/resources/MR/base/strings.xml index 8f1b25f2e..dcfdbb0b5 100644 --- a/apps/multiplatform/common/src/commonMain/resources/MR/base/strings.xml +++ b/apps/multiplatform/common/src/commonMain/resources/MR/base/strings.xml @@ -1230,7 +1230,7 @@ connecting unknown - Previous member %1$s]]> + Past member %1$s No contacts to add