ios image without text, remove preview

This commit is contained in:
JRoberts
2022-04-16 19:54:49 +04:00
parent 9ef8aec786
commit c738e7a9ba
4 changed files with 20 additions and 8 deletions
@@ -247,6 +247,8 @@ struct ChatView: View {
DispatchQueue.main.async {
quotedItem = nil
linkPreview = nil
chosenImage = nil
imagePreview = nil
chatModel.addChatItem(chat.chatInfo, chatItem)
}
}
@@ -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) {
@@ -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
)
}
}
+3 -1
View File
@@ -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)
}