Skip to content
Snippets Groups Projects
Dependencies.swift 4.07 KiB
Newer Older
import ScanFeature
import ChatFeature
import MenuFeature
import TermsFeature
Bruno Muniz's avatar
Bruno Muniz committed
import Dependencies
import AppNavigation
import BackupFeature
import DrawerFeature
import SearchFeature
import RestoreFeature
import ContactFeature
import WebsiteFeature
import ProfileFeature
import ChatListFeature
import SettingsFeature
import RequestsFeature
import ChatMoreFeature
import GroupDraftFeature
import OnboardingFeature
Bruno Muniz's avatar
Bruno Muniz committed
import CountryListFeature
import CreateGroupFeature
import ContactListFeature
import RetryMessageFeature
import RequestPermissionFeature
extension NavigatorKey: DependencyKey {
  public static let liveValue: Navigator = CombinedNavigator(
    PresentModalNavigator(),
    DismissModalNavigator(),
    PushNavigator(),
    PopToRootNavigator(),
    PopToNavigator(),
    SetStackNavigator(),
    OpenUpNavigator(),
    OpenLeftNavigator(),
    PresentPhotoLibraryNavigator(),
    PresentActivitySheetNavigator(),
    PresentChatMoreNavigator(
      ChatMoreController.init(_:_:_:)
    ),
    PresentRetryMessageNavigator(
      RetryMessageController.init(_:_:_:)
    ),
    PresentWebsiteNavigator(
      WebsiteController.init(_:)
    ),
    PresentCreateGroupNavigator(
      CreateGroupController.init(_:)
    ),
    PresentGroupDraftNavigator(
      GroupDraftController.init
    ),
    PresentMenuNavigator(
      MenuController.init(_:_:)
    ),
    PresentProfileNavigator(
      ProfileController.init
    ),
    PresentChatListNavigator(
      ChatListController.init
    ),
    PresentDrawerNavigator(
      DrawerController.init(_:)
    ),
    PresentScanNavigator(
      ScanContainerController.init
    ),
    PresentChatNavigator(
      SingleChatController.init(_:)
    ),
    PresentContactNavigator(
      ContactController.init(_:)
    ),
    PresentSettingsNavigator(
      SettingsMainController.init
    ),
    PresentSettingsBackupNavigator(
      BackupController.init
    ),
    PresentRestoreListNavigator(
      RestoreListController.init
    ),
    PresentContactListNavigator(
      ContactListController.init
    ),
    PresentGroupChatNavigator(
      GroupChatController.init(_:)
    ),
    PresentProfileEmailNavigator(
      ProfileEmailController.init
    ),
    PresentProfilePhoneNavigator(
      ProfilePhoneController.init
    ),
    PresentSearchNavigator(
Bruno Muniz's avatar
Bruno Muniz committed
      ChatListController.init,
      SearchContainerController.init(_:)
    ),
    PresentRequestsNavigator(
      RequestsContainerController.init
    ),
    PresentCountryListNavigator(
      CountryListController.init(_:)
    ),
    PresentGroupMembersNavigator(
      GroupMembersController.init(_:)
    ),
    PresentOnboardingEmailNavigator(
      OnboardingEmailController.init
    ),
    PresentNicknameNavigator(
      NicknameController.init(_:_:)
    ),
    PresentOnboardingSuccessNavigator(
      OnboardingSuccessController.init(_:)
    ),
    PresentOnboardingPhoneNavigator(
      OnboardingPhoneController.init
    ),
    PresentProfileCodeNavigator(
      ProfileCodeController.init(_:_:_:)
    ),
    PresentOnboardingStartNavigator(
      OnboardingStartController.init
    ),
    PresentSettingsAdvancedNavigator(
      SettingsAdvancedController.init
    ),
    PresentTermsAndConditionsNavigator(
      TermsConditionsController.init
    ),
    PresentPermissionRequestNavigator(
      RequestPermissionController.init
    ),
    PresentOnboardingWelcomeNavigator(
      OnboardingWelcomeController.init
    ),
    PresentSettingsAccountDeleteNavigator(
      SettingsDeleteController.init
    ),
    PresentOnboardingUsernameNavigator(
      OnboardingUsernameController.init
    ),
    PresentOnboardingCodeNavigator(
      OnboardingCodeController.init(_:_:_:)
Bruno Muniz's avatar
Bruno Muniz committed

import LaunchFeature
import XXMessengerClient

private enum PushNotificationRouterKey: DependencyKey {
  static var liveValue = Stored<PushNotificationRouter?>.inMemory()
  static var testValue = Stored<PushNotificationRouter?>.unimplemented()
}

extension DependencyValues {
  public var pushNotificationRouter: Stored<PushNotificationRouter?> {
    get { self[PushNotificationRouterKey.self] }
    set { self[PushNotificationRouterKey.self] = newValue }
  }
}