vector-im/element-ios/issues/5114 - Allow editing poll start events.

This commit is contained in:
Stefan Ceriu
2022-01-12 08:44:53 +02:00
committed by Stefan Ceriu
parent a8165d23a4
commit 0980804213
15 changed files with 264 additions and 93 deletions

View File

@@ -76,17 +76,19 @@ struct PollEditForm: View {
Spacer()
Button(VectorL10n.pollEditFormCreatePoll) {
viewModel.send(viewAction: .create)
if viewModel.viewState.mode == .creation {
Button(VectorL10n.pollEditFormCreatePoll) {
viewModel.send(viewAction: .create)
}
.buttonStyle(PrimaryActionButtonStyle())
.disabled(!viewModel.viewState.confirmationButtonEnabled)
}
.buttonStyle(PrimaryActionButtonStyle())
.disabled(!viewModel.viewState.confirmationButtonEnabled)
}
.padding()
.activityIndicator(show: viewModel.viewState.showLoadingIndicator)
.alert(isPresented: $viewModel.showsFailureAlert) {
Alert(title: Text(VectorL10n.pollEditFormPostFailureTitle),
message: Text(VectorL10n.pollEditFormPostFailureSubtitle),
.alert(item: $viewModel.alertInfo) { info in
Alert(title: Text(info.title),
message: Text(info.subtitle),
dismissButton: .default(Text(VectorL10n.ok)))
}
.frame(minHeight: proxy.size.height) // Make the VStack fill the ScrollView's parent
@@ -101,6 +103,15 @@ struct PollEditForm: View {
.font(.headline)
.foregroundColor(theme.colors.primaryContent)
}
ToolbarItem(placement: .navigationBarTrailing) {
if viewModel.viewState.mode == .editing {
Button(VectorL10n.save, action: {
viewModel.send(viewAction: .update)
})
.disabled(!viewModel.viewState.confirmationButtonEnabled)
}
}
}
.navigationBarTitleDisplayMode(.inline)
}