From 3447a0664d4f3317d6e713bdb3c522e1f8cd3e2e Mon Sep 17 00:00:00 2001 From: Stefan Ceriu Date: Tue, 7 May 2024 10:17:55 +0300 Subject: [PATCH] Remove unused `isMultiline` binding --- .../View/MessageComposer.swift | 2 -- .../View/MessageComposerTextField.swift | 25 ------------------- 2 files changed, 27 deletions(-) diff --git a/ElementX/Sources/Screens/RoomScreen/ComposerToolbar/View/MessageComposer.swift b/ElementX/Sources/Screens/RoomScreen/ComposerToolbar/View/MessageComposer.swift index 0fded22e3..071f72c2d 100644 --- a/ElementX/Sources/Screens/RoomScreen/ComposerToolbar/View/MessageComposer.swift +++ b/ElementX/Sources/Screens/RoomScreen/ComposerToolbar/View/MessageComposer.swift @@ -33,7 +33,6 @@ struct MessageComposer: View { let editCancellationAction: () -> Void let onAppearAction: () -> Void - @State private var isMultiline = false @State private var composerTranslation: CGFloat = 0 private let composerShape = RoundedRectangle(cornerRadius: 21, style: .circular) @@ -86,7 +85,6 @@ struct MessageComposer: View { } else { MessageComposerTextField(placeholder: L10n.richTextEditorComposerPlaceholder, text: $plainComposerText, - isMultiline: $isMultiline, maxHeight: 300, enterKeyHandler: sendAction, pasteHandler: pasteAction) diff --git a/ElementX/Sources/Screens/RoomScreen/ComposerToolbar/View/MessageComposerTextField.swift b/ElementX/Sources/Screens/RoomScreen/ComposerToolbar/View/MessageComposerTextField.swift index 77f25b7ef..3b38acb98 100644 --- a/ElementX/Sources/Screens/RoomScreen/ComposerToolbar/View/MessageComposerTextField.swift +++ b/ElementX/Sources/Screens/RoomScreen/ComposerToolbar/View/MessageComposerTextField.swift @@ -18,7 +18,6 @@ import SwiftUI struct MessageComposerTextField: View { let placeholder: String @Binding var text: NSAttributedString - @Binding var isMultiline: Bool let maxHeight: CGFloat let enterKeyHandler: EnterKeyHandler @@ -26,7 +25,6 @@ struct MessageComposerTextField: View { var body: some View { UITextViewWrapper(text: $text, - isMultiline: $isMultiline, maxHeight: maxHeight, enterKeyHandler: enterKeyHandler, pasteHandler: pasteHandler) @@ -48,7 +46,6 @@ private struct UITextViewWrapper: UIViewRepresentable { @Environment(\.roomContext) private var roomContext @Binding var text: NSAttributedString - @Binding var isMultiline: Bool let maxHeight: CGFloat @@ -62,7 +59,6 @@ private struct UITextViewWrapper: UIViewRepresentable { let textView = ElementTextView(usingTextLayoutManager: false) textView.roomContext = roomContext - textView.isMultiline = $isMultiline textView.delegate = context.coordinator textView.elementDelegate = context.coordinator textView.textColor = .compound.textPrimary @@ -167,7 +163,6 @@ private protocol ElementTextViewDelegate: AnyObject { private class ElementTextView: UITextView, PillAttachmentViewProviderDelegate { var roomContext: RoomScreenViewModel.Context? - var isMultiline: Binding? weak var elementDelegate: ElementTextViewDelegate? @@ -186,23 +181,6 @@ private class ElementTextView: UITextView, PillAttachmentViewProviderDelegate { elementDelegate?.textViewDidReceiveEnterKeyPress(self) } - override func layoutSubviews() { - super.layoutSubviews() - - guard let isMultiline, let font else { return } - - let numberOfLines = frame.height / font.lineHeight - if numberOfLines > 1.5 { - if !isMultiline.wrappedValue { - isMultiline.wrappedValue = true - } - } else { - if isMultiline.wrappedValue { - isMultiline.wrappedValue = false - } - } - } - // Pasting support override func canPerformAction(_ action: Selector, withSender sender: Any?) -> Bool { @@ -266,18 +244,15 @@ struct MessageComposerTextField_Previews: PreviewProvider, TestablePreview { struct PreviewWrapper: View { @State var text: NSAttributedString - @State var isMultiline: Bool init(text: String) { _text = .init(initialValue: .init(string: text, attributes: [.font: UIFont.preferredFont(forTextStyle: .body), .foregroundColor: UIColor(.compound.textPrimary)])) - _isMultiline = .init(initialValue: false) } var body: some View { MessageComposerTextField(placeholder: "Placeholder", text: $text, - isMultiline: $isMultiline, maxHeight: 300, enterKeyHandler: { }, pasteHandler: { _ in })