Fix: allow to render a TimelinePoll even if the poll is loading

This commit is contained in:
Nicolas Mauri
2023-04-25 09:48:11 +02:00
parent 257e256761
commit 5926dad024
8 changed files with 61 additions and 7 deletions
@@ -23,6 +23,9 @@ enum MockTimelinePollScreenState: MockScreenState, CaseIterable {
case openUndisclosed
case closedUndisclosed
case closedPollEnded
case loading
case invalidStartEvent
case withAlert
var screenType: Any.Type {
TimelinePollDetails.self
@@ -47,6 +50,20 @@ enum MockTimelinePollScreenState: MockScreenState, CaseIterable {
let viewModel = TimelinePollViewModel(timelinePollDetails: poll)
switch self {
case .loading:
viewModel.updateWithPollState(.loading)
case .invalidStartEvent:
viewModel.updateWithPollState(.invalidStartEvent)
default:
viewModel.updateWithPollState(.loaded)
}
if self == .withAlert {
viewModel.showAnsweringFailure()
}
return ([viewModel], AnyView(TimelinePollView(viewModel: viewModel.context)))
}
}