mirror of
https://gitlab.opencode.de/bwi/bundesmessenger/clients/bundesmessenger-ios.git
synced 2026-05-05 07:27:42 +02:00
Add a generic ErrorAlertInfo type.
Adopt it in Location Sharing and Polls.
This commit is contained in:
@@ -99,16 +99,10 @@ struct TimelinePollViewState: BindableState {
|
||||
}
|
||||
|
||||
struct TimelinePollViewStateBindings {
|
||||
var alertInfo: TimelinePollErrorAlertInfo?
|
||||
var alertInfo: ErrorAlertInfo<TimelinePollAlertType>?
|
||||
}
|
||||
|
||||
struct TimelinePollErrorAlertInfo: Identifiable {
|
||||
enum AlertType {
|
||||
case failedClosingPoll
|
||||
case failedSubmittingAnswer
|
||||
}
|
||||
|
||||
let id: AlertType
|
||||
let title: String
|
||||
let subtitle: String
|
||||
enum TimelinePollAlertType {
|
||||
case failedClosingPoll
|
||||
case failedSubmittingAnswer
|
||||
}
|
||||
|
||||
@@ -64,15 +64,15 @@ class TimelinePollViewModel: TimelinePollViewModelType, TimelinePollViewModelPro
|
||||
}
|
||||
|
||||
func showAnsweringFailure() {
|
||||
state.bindings.alertInfo = TimelinePollErrorAlertInfo(id: .failedSubmittingAnswer,
|
||||
title: VectorL10n.pollTimelineVoteNotRegisteredTitle,
|
||||
subtitle: VectorL10n.pollTimelineVoteNotRegisteredSubtitle)
|
||||
state.bindings.alertInfo = ErrorAlertInfo(id: TimelinePollAlertType.failedSubmittingAnswer,
|
||||
title: VectorL10n.pollTimelineVoteNotRegisteredTitle,
|
||||
message: VectorL10n.pollTimelineVoteNotRegisteredSubtitle)
|
||||
}
|
||||
|
||||
func showClosingFailure() {
|
||||
state.bindings.alertInfo = TimelinePollErrorAlertInfo(id: .failedClosingPoll,
|
||||
title: VectorL10n.pollTimelineNotClosedTitle,
|
||||
subtitle: VectorL10n.pollTimelineNotClosedSubtitle)
|
||||
state.bindings.alertInfo = ErrorAlertInfo(id: TimelinePollAlertType.failedClosingPoll,
|
||||
title: VectorL10n.pollTimelineNotClosedTitle,
|
||||
message: VectorL10n.pollTimelineNotClosedSubtitle)
|
||||
}
|
||||
|
||||
// MARK: - Private
|
||||
|
||||
@@ -59,7 +59,7 @@ struct TimelinePollView: View {
|
||||
.padding([.bottom])
|
||||
.alert(item: $viewModel.alertInfo) { info in
|
||||
Alert(title: Text(info.title),
|
||||
message: Text(info.subtitle),
|
||||
message: info.messageText,
|
||||
dismissButton: .default(Text(VectorL10n.ok)))
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user