diff --git a/Riot.xcworkspace/xcshareddata/swiftpm/Package.resolved b/Riot.xcworkspace/xcshareddata/swiftpm/Package.resolved index 2b7a8c16f..816ccb018 100644 --- a/Riot.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ b/Riot.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -23,7 +23,7 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/matrix-org/matrix-wysiwyg-composer-swift", "state" : { - "revision" : "74bfffeaa56e9d98bbeedf0a5f2c46125fc522e1" + "revision" : "2469f27b7e1e51aaa135e09f9005eb10fda686e6" } }, { diff --git a/RiotSwiftUI/Modules/Room/Composer/View/Composer.swift b/RiotSwiftUI/Modules/Room/Composer/View/Composer.swift index a3a23427a..f255c25a5 100644 --- a/RiotSwiftUI/Modules/Room/Composer/View/Composer.swift +++ b/RiotSwiftUI/Modules/Room/Composer/View/Composer.swift @@ -23,13 +23,20 @@ struct Composer: View { // MARK: Private + @ObservedObject private var viewModel: ComposerViewModelType.Context + @ObservedObject private var wysiwygViewModel: WysiwygComposerViewModel + private let resizeAnimationDuration: Double + + private let sendMessageAction: (WysiwygComposerContent) -> Void + private let showSendMediaActions: () -> Void + @Environment(\.theme) private var theme: ThemeSwiftUI @State private var isActionButtonShowing = false private let horizontalPadding: CGFloat = 12 private let borderHeight: CGFloat = 40 - private let minTextViewHeight: CGFloat = 20 + private var minTextViewHeight: CGFloat = 22 private var verticalPadding: CGFloat { (borderHeight - minTextViewHeight) / 2 } @@ -66,8 +73,8 @@ struct Composer: View { FormatType.allCases.map { type in FormatItem( type: type, - active: wysiwygViewModel.reversedActions.contains(type.composerAction), - disabled: wysiwygViewModel.disabledActions.contains(type.composerAction) + active: wysiwygViewModel.actionStates[type.composerAction] == .reversed, + disabled: wysiwygViewModel.actionStates[type.composerAction] == .disabled ) } } @@ -182,12 +189,18 @@ struct Composer: View { // MARK: Public - @ObservedObject var viewModel: ComposerViewModelType.Context - @ObservedObject var wysiwygViewModel: WysiwygComposerViewModel - let resizeAnimationDuration: Double - - let sendMessageAction: (WysiwygComposerContent) -> Void - let showSendMediaActions: () -> Void + init( + viewModel: ComposerViewModelType.Context, + wysiwygViewModel: WysiwygComposerViewModel, + resizeAnimationDuration: Double, + sendMessageAction: @escaping (WysiwygComposerContent) -> Void, + showSendMediaActions: @escaping () -> Void) { + self.viewModel = viewModel + self.wysiwygViewModel = wysiwygViewModel + self.resizeAnimationDuration = resizeAnimationDuration + self.sendMessageAction = sendMessageAction + self.showSendMediaActions = showSendMediaActions + } var body: some View { VStack(spacing: 8) { diff --git a/changelog.d/6945.bugfix b/changelog.d/6945.bugfix new file mode 100644 index 000000000..990d5cfa3 --- /dev/null +++ b/changelog.d/6945.bugfix @@ -0,0 +1 @@ +Rich Text Composer: Voice Dictation is supported. diff --git a/project.yml b/project.yml index 2c3cdd9b8..0fe95db19 100644 --- a/project.yml +++ b/project.yml @@ -53,7 +53,7 @@ packages: branch: main WysiwygComposer: url: https://github.com/matrix-org/matrix-wysiwyg-composer-swift - revision: 74bfffeaa56e9d98bbeedf0a5f2c46125fc522e1 + revision: 2469f27b7e1e51aaa135e09f9005eb10fda686e6 DeviceKit: url: https://github.com/devicekit/DeviceKit majorVersion: 4.7.0