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