Room user indicators

Signed-off-by: Andy Uhnak <andyuhnak@gmail.com>
This commit is contained in:
Andy Uhnak
2022-02-23 09:47:35 +00:00
parent 2bec561b1f
commit 3f82e61723
28 changed files with 458 additions and 329 deletions
@@ -17,15 +17,6 @@
import Foundation
import CommonKit
/// Type of indicator to be shown in the app navigator
enum AppUserIndicatorType {
/// Loading toast with custom label
case loading(String)
/// Success toast with custom label
case success(String)
}
/// AppNavigatorProtocol abstract a navigator at app level.
/// It enables to perform the navigation within the global app scope (open the side menu, open a room and so on)
/// Note: Presentation of the pattern here https://www.swiftbysundell.com/articles/navigation-in-swift/#where-to-navigator
@@ -36,12 +27,4 @@ protocol AppNavigatorProtocol {
/// Navigate to a destination screen or a state
/// Do not use protocol with associatedtype for the moment like presented here https://www.swiftbysundell.com/articles/navigation-in-swift/#where-to-navigator use a separate enum
func navigate(to destination: AppNavigatorDestination)
/// Add new indicator, such as loading spinner or a success message, to an app-wide queue of other indicators
///
/// If the queue is empty, the indicator will be displayed immediately, otherwise it will be pending
/// until the previously added indicator have completed / been cancelled.
///
/// To remove an indicator, cancel or deallocate the returned `UserIndicator`
func addUserIndicator(_ type: AppUserIndicatorType) -> UserIndicator
}