From 9b6365ca88d14bfa33595fdbc8e4d6afd18dac4b Mon Sep 17 00:00:00 2001 From: Diogo Date: Wed, 6 Nov 2024 14:11:16 +0000 Subject: [PATCH] placeholder adjustments --- apps/ios/Shared/Views/Chat/ChatItemView.swift | 2 ++ apps/ios/Shared/Views/Chat/ChatView.swift | 2 +- apps/ios/Shared/Views/Chat/ReverseList.swift | 1 - apps/ios/Shared/Views/Chat/SelectableChatItemToolbars.swift | 2 +- apps/ios/SimpleXChat/ChatTypes.swift | 4 ++-- 5 files changed, 6 insertions(+), 5 deletions(-) diff --git a/apps/ios/Shared/Views/Chat/ChatItemView.swift b/apps/ios/Shared/Views/Chat/ChatItemView.swift index 418c2d7c34..d462872f08 100644 --- a/apps/ios/Shared/Views/Chat/ChatItemView.swift +++ b/apps/ios/Shared/Views/Chat/ChatItemView.swift @@ -62,6 +62,8 @@ struct ChatItemView: View { CIVoiceView(chat: chat, chatItem: ci, recordingFile: ci.file, duration: duration, allowMenu: $allowMenu) } else if ci.content.msgContent == nil { ChatItemContentView(chat: chat, chatItem: chatItem, msgContentView: { Text(ci.text) }) // msgContent is unreachable branch in this case + } else if ci.isPlaceholder { + EmptyView() } else { framedItemView() } diff --git a/apps/ios/Shared/Views/Chat/ChatView.swift b/apps/ios/Shared/Views/Chat/ChatView.swift index 8e3d41ae10..c3a492aa14 100644 --- a/apps/ios/Shared/Views/Chat/ChatView.swift +++ b/apps/ios/Shared/Views/Chat/ChatView.swift @@ -1309,7 +1309,7 @@ struct ChatView: View { @ViewBuilder private func menu(_ ci: ChatItem, _ range: ClosedRange?, live: Bool) -> some View { - if let mc = ci.content.msgContent, ci.meta.itemDeleted == nil || revealed { + if let mc = ci.content.msgContent, ci.meta.itemDeleted == nil || revealed, !ci.isPlaceholder { if chat.chatInfo.featureEnabled(.reactions) && ci.allowAddReaction, availableReactions.count > 0 { reactionsGroup diff --git a/apps/ios/Shared/Views/Chat/ReverseList.swift b/apps/ios/Shared/Views/Chat/ReverseList.swift index 64784951ff..60d5dbe9a3 100644 --- a/apps/ios/Shared/Views/Chat/ReverseList.swift +++ b/apps/ios/Shared/Views/Chat/ReverseList.swift @@ -85,7 +85,6 @@ struct ReverseList: UIViewControllerRepresentable { ) { (tableView, indexPath, item) -> UITableViewCell? in if self.representer.scrollState == .atDestination { if indexPath.item > self.itemCount - preloadItem, let item = self.getItemAtPath(indexPath: IndexPath(row: self.itemCount - 1, section: 0)) { - logger.error("[scrolling] requesting page \(item.text)") self.representer.loadPage(.before(chatItemId: item.id, count: loadItemsPerPage)) } else if let item = self.getFirstItemBeforePlacholder(indexPath) { // TODO: Cleanup, this should never be possible diff --git a/apps/ios/Shared/Views/Chat/SelectableChatItemToolbars.swift b/apps/ios/Shared/Views/Chat/SelectableChatItemToolbars.swift index 7b185d8211..940dae8c29 100644 --- a/apps/ios/Shared/Views/Chat/SelectableChatItemToolbars.swift +++ b/apps/ios/Shared/Views/Chat/SelectableChatItemToolbars.swift @@ -119,7 +119,7 @@ struct SelectedItemsBottomToolbar: View { dee = dee && ci.meta.deletable && !ci.localNote onlyOwnGroupItems = onlyOwnGroupItems && ci.chatDir == .groupSnd me = me && ci.content.msgContent != nil && ci.memberToModerate(chatInfo) != nil - fe = fe && ci.content.msgContent != nil && ci.meta.itemDeleted == nil && !ci.isLiveDummy + fe = fe && ci.content.msgContent != nil && ci.meta.itemDeleted == nil && !ci.isLiveDummy && !ci.isPlaceholder sel.insert(ci.id) // we are collecting new selected items here to account for any changes in chat items list return (de, dee, me, onlyOwnGroupItems, fe, sel) } else { diff --git a/apps/ios/SimpleXChat/ChatTypes.swift b/apps/ios/SimpleXChat/ChatTypes.swift index cde3286b05..392c478c56 100644 --- a/apps/ios/SimpleXChat/ChatTypes.swift +++ b/apps/ios/SimpleXChat/ChatTypes.swift @@ -2468,7 +2468,7 @@ public struct ChatItem: Identifiable, Decodable, Hashable { } public var allowAddReaction: Bool { - meta.itemDeleted == nil && !isLiveDummy && reactions.filter({ $0.userReacted }).count < 3 + meta.itemDeleted == nil && !isLiveDummy && !isPlaceholder && reactions.filter({ $0.userReacted }).count < 3 } public func autoReceiveFile() -> CIFile? { @@ -2677,7 +2677,7 @@ public struct ChatItem: Identifiable, Decodable, Hashable { updatedAt: .now, itemDeleted: nil, itemEdited: false, - itemLive: true, + itemLive: false, deletable: false, editable: false ),