mirror of
https://github.com/bitwarden/ios.git
synced 2025-12-11 13:54:06 -06:00
35 lines
1.1 KiB
Swift
35 lines
1.1 KiB
Swift
import BitwardenKit
|
|
|
|
// MARK: - SettingsModule
|
|
|
|
/// An object that builds coordinators for the settings tab.
|
|
///
|
|
@MainActor
|
|
protocol SettingsModule {
|
|
/// Initializes a coordinator for navigating between `SettingsRoute`s.
|
|
///
|
|
/// - Parameters:
|
|
/// - delegate: A delegate of the `SettingsCoordinator`.
|
|
/// - stackNavigator: The stack navigator that will be used to navigate between routes.
|
|
/// - Returns: A coordinator that can navigate to `SettingsRoute`s.
|
|
///
|
|
func makeSettingsCoordinator(
|
|
delegate: SettingsCoordinatorDelegate?,
|
|
stackNavigator: StackNavigator,
|
|
) -> AnyCoordinator<SettingsRoute, SettingsEvent>
|
|
}
|
|
|
|
extension DefaultAppModule: SettingsModule {
|
|
func makeSettingsCoordinator(
|
|
delegate: SettingsCoordinatorDelegate?,
|
|
stackNavigator: StackNavigator,
|
|
) -> AnyCoordinator<SettingsRoute, SettingsEvent> {
|
|
SettingsCoordinator(
|
|
delegate: delegate,
|
|
module: self,
|
|
services: services,
|
|
stackNavigator: stackNavigator,
|
|
).asAnyCoordinator()
|
|
}
|
|
}
|