edit mode changes the send button

This commit is contained in:
Mauro Romito
2022-10-11 17:25:58 +02:00
parent 49e597512d
commit 47653e2d8a
6 changed files with 119 additions and 23 deletions

View File

@@ -39,8 +39,16 @@ class SelfSizingHostingController<Content>: UIHostingController<Content> where C
class WysiwygInputToolbarView: MXKRoomInputToolbarView, NibLoadable, HtmlRoomInputToolbarViewProtocol {
var eventSenderDisplayName: String!
var sendMode: RoomInputToolbarViewSendMode = .send
var eventSenderDisplayName: String! {
didSet {
viewModel.setEventSenderDisplayName(eventSenderDisplayName)
}
}
var sendMode: RoomInputToolbarViewSendMode = .send {
didSet {
viewModel.setSendMode(sendMode)
}
}
override class func instantiate() -> MXKRoomInputToolbarView! {
return loadFromNib()
@@ -53,13 +61,16 @@ class WysiwygInputToolbarView: MXKRoomInputToolbarView, NibLoadable, HtmlRoomInp
private var cancellables = Set<AnyCancellable>()
private var heightConstraint: NSLayoutConstraint!
private var hostingViewController: SelfSizingHostingController<Composer>!
private var viewModel: ComposerViewModelProtocol = ComposerViewModel(initialViewState: ComposerViewState())
private static let minToolbarHeight: CGFloat = 100
override func awakeFromNib() {
super.awakeFromNib()
let viewModel = WysiwygComposerViewModel()
let composer = Composer(viewModel: viewModel, sendMessageAction: { [weak self] content in
let wysiwygViewModel = WysiwygComposerViewModel()
let composer = Composer(viewModel: viewModel.context,
wysiwygViewModel: wysiwygViewModel,
sendMessageAction: { [weak self] content in
guard let self = self else { return }
self.sendWysiwygMessage(content: content)
}, showSendMediaActions: { [weak self] in
@@ -101,7 +112,7 @@ class WysiwygInputToolbarView: MXKRoomInputToolbarView, NibLoadable, HtmlRoomInp
}
func setHtml(content: String) {
hostingViewController.rootView.viewModel.setHtmlContent(content)
hostingViewController.rootView.wysiwygViewModel.setHtmlContent(content)
}
func setVoiceMessageToolbarView(_ voiceMessageToolbarView: UIView!) {