Add the empty state to SpaceScreen. (#4985)

* Rename PaginationState.timelineEndReached to PaginationState.endReached.

* Rename PaginationState to TimelinePaginationState.

Also renames PaginationStatus to PaginationState so that a TimelinePaginationState consists of the forward and backward pagination states.

* Add the empty state to SpaceScreen.

Only has 1 of the 2 buttons for now.
This commit is contained in:
Doug
2026-01-22 12:37:34 +00:00
committed by GitHub
parent b4b9f6affa
commit cea365ac97
30 changed files with 164 additions and 94 deletions
@@ -57,13 +57,16 @@ class SpaceScreenViewModel: SpaceScreenViewModelType, SpaceScreenViewModelProtoc
spaceRoomListProxy.paginationStatePublisher
.receive(on: DispatchQueue.main)
.sink { [weak self] paginationState in
guard let self else { return }
switch paginationState {
case .idle(let endReached):
self?.state.isPaginating = false
guard !endReached else { return }
case .idle(endReached: false):
state.paginationState = .idle
Task { await spaceRoomListProxy.paginate() }
case .idle(endReached: true):
state.paginationState = .endReached
case .loading:
self?.state.isPaginating = true
state.paginationState = .paginating
}
}
.store(in: &cancellables)