From 80ed0a31c4fab3e1dedd507d178eeafbcad768c4 Mon Sep 17 00:00:00 2001 From: Nicolas Mauri Date: Tue, 14 Nov 2023 15:33:51 +0100 Subject: [PATCH] Set a keyCommandHandler, otherwise the placeholder will never be removed. --- .../xcshareddata/swiftpm/Package.resolved | 8 ++++---- .../Modules/Room/Composer/View/Composer.swift | 13 ++++++++++++- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/Riot.xcworkspace/xcshareddata/swiftpm/Package.resolved b/Riot.xcworkspace/xcshareddata/swiftpm/Package.resolved index 4a7151c77..6476bac67 100644 --- a/Riot.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ b/Riot.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -14,8 +14,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/Cocoanetics/DTCoreText", "state" : { - "revision" : "9d2d4d2296e5d2d852a7d3c592b817d913a5d020", - "version" : "1.6.27" + "revision" : "b664664825da565b4c2b7a17dbe2369f68ae43d9", + "version" : "1.6.26" } }, { @@ -50,8 +50,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/matrix-org/matrix-wysiwyg-composer-swift", "state" : { - "revision" : "1100b217c04d096dfe072afb4484660ff794d805", - "version" : "2.2.2" + "revision" : "379ab4d0ff194eba197606c56345e5718b2e3810", + "version" : "2.15.0" } }, { diff --git a/RiotSwiftUI/Modules/Room/Composer/View/Composer.swift b/RiotSwiftUI/Modules/Room/Composer/View/Composer.swift index ca86478f9..d24b38c7a 100644 --- a/RiotSwiftUI/Modules/Room/Composer/View/Composer.swift +++ b/RiotSwiftUI/Modules/Room/Composer/View/Composer.swift @@ -143,7 +143,7 @@ struct Composer: View { placeholder: viewModel.viewState.placeholder ?? "", viewModel: wysiwygViewModel, itemProviderHelper: nil, - keyCommandHandler: nil, + keyCommandHandler: handleKeyCommand, pasteHandler: nil ) .onAppear { @@ -219,6 +219,17 @@ struct Composer: View { } } + func handleKeyCommand(_ keyCommand: WysiwygKeyCommand) -> Bool { + switch keyCommand { + case .enter: + sendMessageAction(wysiwygViewModel.content) + wysiwygViewModel.clearContent() + return true + case .shiftEnter: + return false + } + } + // MARK: Public init(