Move RTE feature flag to settings (#1703)

* Update matrix-wysiwyg-composer-swift to 2.10.1

* Delete MessageComposerTextField

* Always use rte composer

* Fix corner radius

* Cleanup
This commit is contained in:
Alfonso Grillo
2023-09-14 13:10:42 +02:00
committed by GitHub
parent 24524a66c8
commit 058fe79f25
11 changed files with 27 additions and 321 deletions
@@ -21,7 +21,6 @@ typealias EnterKeyHandler = () -> Void
typealias PasteHandler = (NSItemProvider) -> Void
struct MessageComposer: View {
@Binding var plainText: String
let composerView: WysiwygComposerView
let mode: RoomScreenComposerMode
let showResizeGrabber: Bool
@@ -33,7 +32,6 @@ struct MessageComposer: View {
let onAppearAction: () -> Void
@FocusState private var focused: Bool
@State private var isMultiline = false
@State private var composerTranslation: CGFloat = 0
var body: some View {
@@ -42,6 +40,7 @@ struct MessageComposer: View {
resizeGrabber
}
let borderRadius: CGFloat = 21
mainContent
.padding(.horizontal, 12.0)
.clipShape(RoundedRectangle(cornerRadius: borderRadius))
@@ -67,28 +66,15 @@ struct MessageComposer: View {
private var mainContent: some View {
VStack(alignment: .leading, spacing: -6) {
header
HStack(alignment: .bottom) {
if ServiceLocator.shared.settings.richTextEditorEnabled {
composerView
.frame(minHeight: composerHeight, alignment: .top)
.tint(.compound.iconAccentTertiary)
.padding(.vertical, 10)
.focused($focused)
.onAppear {
onAppearAction()
}
} else {
MessageComposerTextField(placeholder: L10n.richTextEditorComposerPlaceholder,
text: $plainText,
isMultiline: $isMultiline,
maxHeight: 300,
enterKeyHandler: sendAction,
pasteHandler: pasteAction)
.tint(.compound.iconAccentTertiary)
.padding(.vertical, 10)
.focused($focused)
composerView
.frame(minHeight: composerHeight, alignment: .top)
.tint(.compound.iconAccentTertiary)
.padding(.vertical, 10)
.focused($focused)
.onAppear {
onAppearAction()
}
}
}
}
@@ -108,15 +94,6 @@ struct MessageComposer: View {
EmptyView()
}
}
private var borderRadius: CGFloat {
switch mode {
case .default:
return isMultiline ? 20 : 28
case .reply, .edit:
return 20
}
}
private var resizeGrabber: some View {
Capsule()
@@ -213,8 +190,7 @@ struct MessageComposer_Previews: PreviewProvider {
keyCommandHandler: nil,
pasteHandler: nil)
return MessageComposer(plainText: .constant(content),
composerView: composerView,
return MessageComposer(composerView: composerView,
mode: mode,
showResizeGrabber: false,
isExpanded: .constant(false),