Add loading view

This commit is contained in:
Alfonso Grillo
2023-01-20 12:11:12 +01:00
parent 1dd11beba3
commit 729da6d6e3
8 changed files with 93 additions and 11 deletions
@@ -27,16 +27,43 @@ enum PollHistoryMode: CaseIterable {
case past
}
enum PollHistoryLoadingState {
case idle
case loading(firstLoad: Bool)
}
extension PollHistoryLoadingState {
var isLoadingOnLanding: Bool {
switch self {
case .idle:
return false
case .loading(let firstLoad):
return firstLoad
}
}
var isLoading: Bool {
switch self {
case .idle:
return false
case .loading:
return true
}
}
}
struct PollHistoryViewBindings {
var mode: PollHistoryMode
}
struct PollHistoryViewState: BindableState {
init(mode: PollHistoryMode) {
init(mode: PollHistoryMode, loadingState: PollHistoryLoadingState) {
bindings = .init(mode: mode)
self.loadingState = loadingState
}
var bindings: PollHistoryViewBindings
var loadingState: PollHistoryLoadingState
var polls: [TimelinePollDetails] = []
}