import Foundation
import UIKit
import DataSource

class TemplateViewController: UIViewController {
    
    // MARK: Interface
    
    var onSubmit: ((String) -> Void)! // ! für required closures, ? für wirklich optionale
    var onCancel: (() -> Void)!
    
    static func create(title: String, viewModel: TemplateViewModel) -> TemplateViewController {
        let viewController = TemplateViewController()
        viewController.viewModel = viewModel
        return viewController
    }
    
    // MARK: Views
    
    @IBOutlet private var titleLabel: UILabel!
    @IBOutlet private var profileImageView: UIImageView!
    
    private lazy var headerView = UIView().with {
        $0.backgroundColor = .red
    }

    // MARK: Private
    
    private var viewModel: TemplateViewModel!
    
    // computed properties usw.
    
    // MARK: Lifecycle
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        setupViews()
    }
    
    override func viewDidLayoutSubviews() {
        super.viewDidLayoutSubviews()
    }
    
    private func setupViews() {
        view.addSubview(headerView)
        
        // autolayout constraints
    }
}