mirror of
https://gitlab.opencode.de/bwi/bundesmessenger/clients/bundesmessenger-ios.git
synced 2026-04-25 11:02:48 +02:00
Merge pull request #6938 from vector-im/mauroromito/6935_wysiwyg_placeholder
Rich Text Composer Placeholder Text
This commit is contained in:
@@ -19,6 +19,7 @@ import Foundation
|
||||
struct ComposerViewState: BindableState {
|
||||
var eventSenderDisplayName: String?
|
||||
var sendMode: ComposerSendMode = .send
|
||||
var placeholder: String?
|
||||
}
|
||||
|
||||
extension ComposerViewState {
|
||||
|
||||
@@ -63,4 +63,10 @@ final class ComposerViewModelTests: XCTestCase {
|
||||
context.send(viewAction: .cancel)
|
||||
XCTAssert(result == .cancel)
|
||||
}
|
||||
|
||||
func testPlaceholder() {
|
||||
XCTAssert(context.viewState.placeholder == nil)
|
||||
viewModel.placeholder = "Placeholder Test"
|
||||
XCTAssert(context.viewState.placeholder == "Placeholder Test")
|
||||
}
|
||||
}
|
||||
|
||||
@@ -111,6 +111,7 @@ struct Composer: View {
|
||||
didUpdateText: wysiwygViewModel.didUpdateText
|
||||
)
|
||||
.tintColor(theme.colors.accent)
|
||||
.placeholder(viewModel.viewState.placeholder, color: theme.colors.tertiaryContent)
|
||||
.frame(height: wysiwygViewModel.idealHeight)
|
||||
.padding(.horizontal, horizontalPadding)
|
||||
.onAppear {
|
||||
|
||||
@@ -45,6 +45,15 @@ final class ComposerViewModel: ComposerViewModelType, ComposerViewModelProtocol
|
||||
}
|
||||
}
|
||||
|
||||
var placeholder: String? {
|
||||
get {
|
||||
state.placeholder
|
||||
}
|
||||
set {
|
||||
state.placeholder = newValue
|
||||
}
|
||||
}
|
||||
|
||||
// MARK: - Public
|
||||
|
||||
override func process(viewAction: ComposerViewAction) {
|
||||
|
||||
@@ -21,4 +21,5 @@ protocol ComposerViewModelProtocol {
|
||||
var callback: ((ComposerViewModelResult) -> Void)? { get set }
|
||||
var sendMode: ComposerSendMode { get set }
|
||||
var eventSenderDisplayName: String? { get set }
|
||||
var placeholder: String? { get set }
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user