From d474cae70559eaec11a9867bb1348bedb41abe2a Mon Sep 17 00:00:00 2001 From: Stanislav Dmitrenko <7953703+avently@users.noreply.github.com> Date: Sun, 24 Dec 2023 07:15:31 +0800 Subject: [PATCH] ios: saving and sharing items menu item (#3581) * ios: saving and sharing items menu item * refactor --------- Co-authored-by: Avently Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com> --- apps/ios/Shared/Views/Chat/ChatView.swift | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/apps/ios/Shared/Views/Chat/ChatView.swift b/apps/ios/Shared/Views/Chat/ChatView.swift index 4fb93ffe22..6e2c0c1555 100644 --- a/apps/ios/Shared/Views/Chat/ChatView.swift +++ b/apps/ios/Shared/Views/Chat/ChatView.swift @@ -723,9 +723,14 @@ struct ChatView: View { if ci.meta.itemDeleted == nil && !ci.isLiveDummy && !live { menu.append(replyUIAction(ci)) } - menu.append(shareUIAction(ci)) - menu.append(copyUIAction(ci)) - if let fileSource = getLoadedFileSource(ci.file) { + let fileSource = getLoadedFileSource(ci.file) + let fileExists = if let fs = fileSource, FileManager.default.fileExists(atPath: getAppFilePath(fs.filePath).path) { true } else { false } + let copyAndShareAllowed = !ci.content.text.isEmpty || (ci.content.msgContent?.isImage == true && fileExists) + if copyAndShareAllowed { + menu.append(shareUIAction(ci)) + menu.append(copyUIAction(ci)) + } + if let fileSource = fileSource, fileExists { if case .image = ci.content.msgContent, let image = getLoadedImage(ci.file) { if image.imageData != nil { menu.append(saveFileAction(fileSource))