//
//  ThemedNavigationController.swift
//  NetNewsWire
//
//  Created by Maurice Parker on 8/22/19.
//  Copyright © 2019 Ranchero Software. All rights reserved.
//

import UIKit

class ThemedNavigationController: UINavigationController {
	
	static func template() -> UINavigationController {
		let navController = ThemedNavigationController()
		navController.configure()
		return navController
	}
	
	static func template(rootViewController: UIViewController) -> UINavigationController {
		let navController = ThemedNavigationController(rootViewController: rootViewController)
		navController.configure()
		return navController
	}
	
	override func traitCollectionDidChange(_ previousTraitCollection: UITraitCollection?) {
		super.traitCollectionDidChange(previousTraitCollection)
		if traitCollection.userInterfaceStyle != previousTraitCollection?.userInterfaceStyle {
			configure()
		}
	}
		
	private func configure() {
		isToolbarHidden = false
		
		if traitCollection.userInterfaceStyle == .dark {
			navigationBar.standardAppearance = UINavigationBarAppearance()
			navigationBar.tintColor = view.tintColor
			toolbar.standardAppearance = UIToolbarAppearance()
			toolbar.tintColor = view.tintColor
		} else {
			let navigationAppearance = UINavigationBarAppearance()
			navigationAppearance.backgroundColor = AppAssets.barBackgroundColor
			navigationAppearance.titleTextAttributes = [.foregroundColor: AppAssets.barTitleColor]
			navigationAppearance.largeTitleTextAttributes = [.foregroundColor: AppAssets.barTitleColor]
			navigationBar.standardAppearance = navigationAppearance
			navigationBar.tintColor = AppAssets.barTintColor
			
			let toolbarAppearance = UIToolbarAppearance()
			toolbarAppearance.backgroundColor = UIColor.white
			toolbar.standardAppearance = toolbarAppearance
			toolbar.tintColor = AppAssets.barTintColor
		}
		
	}
	
}