From b93c7759e1a87cbbab89e9d3a94089b9e1d06ba6 Mon Sep 17 00:00:00 2001 From: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com> Date: Mon, 11 Sep 2023 22:10:13 +0100 Subject: [PATCH] update UI --- apps/ios/Shared/Views/Chat/ChatView.swift | 17 ++++++----------- .../ContextDirectMemberView.swift | 9 +++++---- apps/ios/SimpleXChat/ChatTypes.swift | 5 ++++- 3 files changed, 15 insertions(+), 16 deletions(-) diff --git a/apps/ios/Shared/Views/Chat/ChatView.swift b/apps/ios/Shared/Views/Chat/ChatView.swift index 0731f57ff5..9faf3b86c7 100644 --- a/apps/ios/Shared/Views/Chat/ChatView.swift +++ b/apps/ios/Shared/Views/Chat/ChatView.swift @@ -450,7 +450,7 @@ struct ChatView: View { if ci.content.showMemberName { Group { if msgScope == .msDirect { - Text("\(member.displayName) **directly**") + Text("\(member.displayName) **only to you**") } else { Text(member.displayName) } @@ -488,7 +488,7 @@ struct ChatView: View { if ci.content.showMemberName { HStack { if let directMember = directMember { - Text("**directly** to \(directMember.displayName)") + Text("**only to** \(directMember.displayName)") ProfileImage(imageStr: directMember.image) .frame(width: 20, height: 20) .onTapGesture { selectedMember = directMember } @@ -762,7 +762,7 @@ struct ChatView: View { private func replyUIAction() -> UIAction { UIAction( title: NSLocalizedString("Reply", comment: "chat item action"), - image: UIImage(systemName: "arrowshape.turn.up.left") + image: UIImage(systemName: "arrowshape.turn.up.left.2") ) { _ in withAnimation { if composeState.editing { @@ -780,7 +780,7 @@ struct ChatView: View { private func replyDirectlyUIAction(_ toDirectMember: GroupMember, _ groupInfo: GroupInfo) -> UIAction { UIAction( title: NSLocalizedString("Reply directly", comment: "chat item action"), - image: UIImage(systemName: "arrow.left.arrow.right") + image: UIImage(systemName: "arrowshape.turn.up.left") ) { _ in let canSend = toDirectMember.canSendDirectlyTo(groupInfo: groupInfo) switch canSend { @@ -1046,14 +1046,9 @@ struct ChatView: View { private func showSndScope(_ directMember: GroupMember?, _ prevItem: ChatItem?) -> Bool { switch (prevItem?.chatDir) { - case .groupRcv: return true + case .groupRcv: return directMember != nil case let .groupSnd(prevDirectMember): - switch (prevDirectMember, directMember) { - case (.none, .some(_)): return true - case (.some(_), .none): return true - case let (.some(prevDM), .some(dm)): return prevDM.groupMemberId != dm.groupMemberId - default: return false - } + return prevDirectMember?.groupMemberId != directMember?.groupMemberId default: return false } } diff --git a/apps/ios/Shared/Views/Chat/ComposeMessage/ContextDirectMemberView.swift b/apps/ios/Shared/Views/Chat/ComposeMessage/ContextDirectMemberView.swift index 7fcb8e4cb6..b4ccefae52 100644 --- a/apps/ios/Shared/Views/Chat/ComposeMessage/ContextDirectMemberView.swift +++ b/apps/ios/Shared/Views/Chat/ComposeMessage/ContextDirectMemberView.swift @@ -17,9 +17,11 @@ struct ContextDirectMemberView: View { var body: some View { HStack { if let directMember = directMember { + Text("**only to** \(directMember.chatViewName)") + .lineLimit(1) if let image = directMember.image { ProfileImage(imageStr: image) - .frame(width: 30, height: 30) + .frame(width: 24, height: 24) .padding(.trailing, 2) } else { Image(systemName: "arrow.left.arrow.right") @@ -29,10 +31,9 @@ struct ContextDirectMemberView: View { .foregroundColor(.secondary) .padding(.trailing, 2) } - Text("Directly to \(directMember.chatViewName)") - .lineLimit(1) } else { - Text("Message will be sent to all members") + // maybe make it disappear after some time? + Text("send to all group members") } Spacer() Button { diff --git a/apps/ios/SimpleXChat/ChatTypes.swift b/apps/ios/SimpleXChat/ChatTypes.swift index ca3b9097ec..23235bfb7e 100644 --- a/apps/ios/SimpleXChat/ChatTypes.swift +++ b/apps/ios/SimpleXChat/ChatTypes.swift @@ -2702,6 +2702,9 @@ public struct CIQuote: Decodable, ItemContent { return NSLocalizedString("you", comment: "quote sender") } case .groupSnd(.msDirect): + // TODO don't quite understand this condition - this is always user's message, why we show the name, and when "you" will be shown? + // Maybe better to repeat "only to " as it was on the original message? + // Or " only to "? if let membershipName = membership?.displayName { return String.localizedStringWithFormat(NSLocalizedString("%@, directly", comment: "quote sender"), membershipName) } else { @@ -2710,7 +2713,7 @@ public struct CIQuote: Decodable, ItemContent { case let .groupRcv(member, .msGroup): return member.displayName case let .groupRcv(member, .msDirect): - return String.localizedStringWithFormat(NSLocalizedString("%@, directly", comment: "quote sender"), member.displayName) + return String.localizedStringWithFormat(NSLocalizedString("%@ only to you", comment: "quote sender"), member.displayName) case nil: return nil } }