Fixes #2414 - Move member loading to the room member detail screen, avoid blocking the whole application

This commit is contained in:
Stefan Ceriu
2024-02-07 09:31:25 +02:00
committed by GitHub
parent f9edb75da5
commit b075ddb047
31 changed files with 305 additions and 305 deletions
@@ -57,6 +57,10 @@ final class RoomMembersListScreenCoordinator: CoordinatorProtocol {
}
.store(in: &cancellables)
}
func stop() {
viewModel.stop()
}
func toPresentable() -> AnyView {
AnyView(RoomMembersListScreen(context: viewModel.context))
@@ -58,6 +58,10 @@ class RoomMembersListScreenViewModel: RoomMembersListScreenViewModelType, RoomMe
}
}
func stop() {
hideLoader()
}
// MARK: - Private
private func setupMembers() {
@@ -120,7 +124,11 @@ class RoomMembersListScreenViewModel: RoomMembersListScreenViewModelType, RoomMe
private let userIndicatorID = UUID().uuidString
private func showLoader() {
userIndicatorController.submitIndicator(UserIndicator(id: userIndicatorID, type: .modal, title: L10n.commonLoading, persistent: true), delay: .milliseconds(200))
userIndicatorController.submitIndicator(UserIndicator(id: userIndicatorID,
type: .modal(progress: .indeterminate, interactiveDismissDisabled: false, allowsInteraction: true),
title: L10n.commonLoading,
persistent: true),
delay: .milliseconds(200))
}
private func hideLoader() {
@@ -20,4 +20,6 @@ import Combine
protocol RoomMembersListScreenViewModelProtocol {
var actions: AnyPublisher<RoomMembersListScreenViewModelAction, Never> { get }
var context: RoomMembersListScreenViewModelType.Context { get }
func stop()
}