vector-im/element-ios/issues/5114 - Small answer option count limit code tweak.

This commit is contained in:
Stefan Ceriu
2022-01-18 13:57:50 +02:00
committed by Stefan Ceriu
parent d7e9fe61b4
commit 565c4e339d
2 changed files with 4 additions and 1 deletions

View File

@@ -81,13 +81,14 @@ struct PollEditFormAnswerOption: Identifiable, Equatable {
}
struct PollEditFormViewState: BindableState {
var minAnswerOptionsCount: Int
var maxAnswerOptionsCount: Int
var mode: PollEditFormMode
var bindings: PollEditFormViewStateBindings
var confirmationButtonEnabled: Bool {
!bindings.question.text.trimmingCharacters(in: .whitespacesAndNewlines).isEmpty &&
bindings.answerOptions.filter({ !$0.text.isEmpty }).count >= 2
bindings.answerOptions.filter({ !$0.text.isEmpty }).count >= minAnswerOptionsCount
}
var addAnswerOptionButtonEnabled: Bool {

View File

@@ -30,6 +30,7 @@ typealias PollEditFormViewModelType = StateStoreViewModel< PollEditFormViewState
class PollEditFormViewModel: PollEditFormViewModelType {
private struct Constants {
static let minAnswerOptionsCount = 2
static let maxAnswerOptionsCount = 20
static let maxQuestionLength = 340
static let maxAnswerOptionLength = 340
@@ -47,6 +48,7 @@ class PollEditFormViewModel: PollEditFormViewModelType {
init(parameters: PollEditFormViewModelParameters) {
let state = PollEditFormViewState(
minAnswerOptionsCount: Constants.minAnswerOptionsCount,
maxAnswerOptionsCount: Constants.maxAnswerOptionsCount,
mode: parameters.mode,
bindings: PollEditFormViewStateBindings(