From c738e7a9ba0b6ae30ff7410b62fd24f5974a9788 Mon Sep 17 00:00:00 2001 From: JRoberts <8711996+jr-simplex@users.noreply.github.com> Date: Sat, 16 Apr 2022 19:54:49 +0400 Subject: [PATCH] ios image without text, remove preview --- apps/ios/Shared/Views/Chat/ChatView.swift | 2 ++ .../Views/Chat/ComposeMessage/ComposeView.swift | 12 ++++++++---- .../Views/Chat/ComposeMessage/SendMessageView.swift | 10 +++++++--- apps/ios/Shared/Views/TerminalView.swift | 4 +++- 4 files changed, 20 insertions(+), 8 deletions(-) diff --git a/apps/ios/Shared/Views/Chat/ChatView.swift b/apps/ios/Shared/Views/Chat/ChatView.swift index 6973fc8e8a..c94406da55 100644 --- a/apps/ios/Shared/Views/Chat/ChatView.swift +++ b/apps/ios/Shared/Views/Chat/ChatView.swift @@ -247,6 +247,8 @@ struct ChatView: View { DispatchQueue.main.async { quotedItem = nil linkPreview = nil + chosenImage = nil + imagePreview = nil chatModel.addChatItem(chat.chatInfo, chatItem) } } diff --git a/apps/ios/Shared/Views/Chat/ComposeMessage/ComposeView.swift b/apps/ios/Shared/Views/Chat/ComposeMessage/ComposeView.swift index 2ce93cd5ea..766103ae8a 100644 --- a/apps/ios/Shared/Views/Chat/ComposeMessage/ComposeView.swift +++ b/apps/ios/Shared/Views/Chat/ComposeMessage/ComposeView.swift @@ -44,6 +44,7 @@ struct ComposeView: View { var inProgress: Bool = false @FocusState.Binding var keyboardVisible: Bool @State var editing: Bool = false + @State var sendEnabled: Bool = false @State var linkUrl: URL? = nil @State var prevLinkUrl: URL? = nil @State var pendingLinkUrl: URL? = nil @@ -86,7 +87,8 @@ struct ComposeView: View { inProgress: inProgress, message: $message, keyboardVisible: $keyboardVisible, - editing: $editing + editing: $editing, + sendEnabled: $sendEnabled ) .padding(.trailing, 12) .background(.background) @@ -98,6 +100,7 @@ struct ComposeView: View { } else { resetLinkPreview() } + sendEnabled = (imagePreview != nil || !message.isEmpty) } .onChange(of: editingItem == nil) { _ in editing = (editingItem != nil) @@ -124,13 +127,14 @@ struct ComposeView: View { } .onChange(of: chosenImage) { image in if let image = image { - // TODO - // imagePreview = resizeImageToDataSize(image, maxDataSize: 12500) - imagePreview = resizeImageToDataSize(cropToSquare(image), maxDataSize: 12500) + imagePreview = resizeImageToDataSize(image, maxDataSize: 12500) } else { imagePreview = nil } } + .onChange(of: imagePreview) { _ in + sendEnabled = (imagePreview != nil || !message.isEmpty) + } } private func showLinkPreview(_ s: String) { diff --git a/apps/ios/Shared/Views/Chat/ComposeMessage/SendMessageView.swift b/apps/ios/Shared/Views/Chat/ComposeMessage/SendMessageView.swift index 0670f9bc51..bede2e2c03 100644 --- a/apps/ios/Shared/Views/Chat/ComposeMessage/SendMessageView.swift +++ b/apps/ios/Shared/Views/Chat/ComposeMessage/SendMessageView.swift @@ -15,6 +15,7 @@ struct SendMessageView: View { @Namespace var namespace @FocusState.Binding var keyboardVisible: Bool @Binding var editing: Bool + @Binding var sendEnabled: Bool @State private var teHeight: CGFloat = 42 @State private var teFont: Font = .body var maxHeight: CGFloat = 360 @@ -52,7 +53,7 @@ struct SendMessageView: View { .resizable() .foregroundColor(.accentColor) } - .disabled(message.isEmpty) + .disabled(!sendEnabled) .frame(width: 29, height: 29) .padding([.bottom, .trailing], 4) } @@ -89,6 +90,7 @@ struct SendMessageView_Previews: PreviewProvider { @FocusState var keyboardVisible: Bool @State var editingOff: Bool = false @State var editingOn: Bool = true + @State var sendEnabled: Bool = true @State var item: ChatItem? = ChatItem.getSample(1, .directSnd, .now, "hello") return Group { @@ -99,7 +101,8 @@ struct SendMessageView_Previews: PreviewProvider { sendMessage: { print ($0) }, message: $message, keyboardVisible: $keyboardVisible, - editing: $editingOff + editing: $editingOff, + sendEnabled: $sendEnabled ) } VStack { @@ -109,7 +112,8 @@ struct SendMessageView_Previews: PreviewProvider { sendMessage: { print ($0) }, message: $message, keyboardVisible: $keyboardVisible, - editing: $editingOn + editing: $editingOn, + sendEnabled: $sendEnabled ) } } diff --git a/apps/ios/Shared/Views/TerminalView.swift b/apps/ios/Shared/Views/TerminalView.swift index e4ce72166e..ecd4d86fbd 100644 --- a/apps/ios/Shared/Views/TerminalView.swift +++ b/apps/ios/Shared/Views/TerminalView.swift @@ -18,6 +18,7 @@ struct TerminalView: View { @State var message: String = "" @FocusState private var keyboardVisible: Bool @State var editing: Bool = false + @State var sendEnabled: Bool = true var body: some View { VStack { @@ -67,7 +68,8 @@ struct TerminalView: View { inProgress: inProgress, message: $message, keyboardVisible: $keyboardVisible, - editing: $editing + editing: $editing, + sendEnabled: $sendEnabled ) .padding(.horizontal, 12) }