This commit is contained in:
Mauro Romito
2022-12-12 15:39:57 +01:00
parent 66c20094d2
commit 133a66188b
11 changed files with 177 additions and 17 deletions
@@ -15,11 +15,39 @@
//
import Foundation
import WysiwygComposer
typealias ComposerLinkActionViewModelType = StateStoreViewModel<ComposerLinkActionViewState, ComposerLinkActionViewAction>
final class ComposerLinkActionViewModel: ComposerLinkActionViewModelType, ComposerLinkActionViewModelProtocol {
// MARK: - Properties
// MARK: Private
// MARK: Public
var callback: ((ComposerLinkActionViewModelResult) -> Void)?
// MARK: - Public
init(from linkAction: LinkAction) {
let initialViewState: ComposerLinkActionViewState
// TODO: Add translations
switch linkAction {
case .edit:
initialViewState = .init(title: "Edit Link")
case .createWithText, .create:
initialViewState = .init(title: "Create a Link")
}
super.init(initialViewState: initialViewState)
}
override func process(viewAction: ComposerLinkActionViewAction) {
switch viewAction {
case .cancel:
callback?(.cancel)
}
}
}