Skip to content

Instantly share code, notes, and snippets.

@styrken
Created December 12, 2019 11:42
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save styrken/ba408c8b82d7a277b89468d3f75970ff to your computer and use it in GitHub Desktop.
Save styrken/ba408c8b82d7a277b89468d3f75970ff to your computer and use it in GitHub Desktop.
//
// LoginSelectionRouter.swift
//
// Created by Rasmus Styrk on 12/12/2019.
// Copyright © 2019 House of Code ApS. All rights reserved.
//
import UIKit
class LoginSelectionRouter: LoginSelectionRouterInput {
var sessionManager: SessionManager
var analyticsRepository: AnalyticsRepository
init(sessionManager: SessionManager, analyticsRepository: AnalyticsRepository) {
self.sessionManager = sessionManager
self.analyticsRepository = analyticsRepository
}
func start(in window: UIWindow) {
let viewController = LoginSelectionViewController()
let presenter = LoginSelectionPresenter()
presenter.view = viewController
presenter.router = self
presenter.analytics = analyticsRepository
let interactor = LoginSelectionInteractor()
interactor.output = presenter
interactor.sessionManager = self.sessionManager
presenter.interactor = interactor
viewController.output = presenter
let navigationController = UINavigationController(rootViewController: viewController)
navigationController.setNavigationBarHidden(true, animated: false)
window.rootViewController = navigationController
}
func navigateToEmailSignIn(from viewController: UIViewController) {
let router = SigninWithEmailRouter(sessionManager: self.sessionManager,
analyticsRepository: self.analyticsRepository)
router.start(from: viewController)
}
func navigateToCreateUser(from viewController: UIViewController) {
let router = CreateUserRouter(sessionManager: self.sessionManager,
analyticsRepository: self.analyticsRepository)
router.start(from: viewController)
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment