//
//  MainCoordinator.swift
//  MiniScanner
//
//  Created by Mustafa Merza on 7/18/24.
//  Copyright © 2024 AppsNectar. All rights reserved.
//

import SwiftUI

protocol MainCoordinator {
    
    var navigationController: UINavigationController { get set }
    
    func start()
    
    func coordinate(to coordinator: MainCoordinator)
    
    func coordinateBack()

    func coordinateToView(_ view: some View, title: String?)
}

extension MainCoordinator {
    
    func coordinate(to coordinator: MainCoordinator) {
        coordinator.start()
    }
    
    func coordinateBack() {
        navigationController.popViewController(animated: true)
    }

    func coordinateToView(_ view: some View, title: String? = nil) {
        let hostingController = UIHostingController(rootView: view)
        hostingController.title = title
        navigationController.pushViewController(hostingController, animated: true)
    }
}