// Copyright © 2022 Rangeproof Pty Ltd. All rights reserved.

import UIKit
import SessionUIKit

final class ScanQRCodeWrapperVC: BaseVC {
    var delegate: (UIViewController & QRScannerDelegate)? = nil
    var isPresentedModally = false
    
    private let scanQRCodeVC = QRCodeScanningViewController()
    
    // MARK: - Lifecycle
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        title = "qrScan".localized()
        
        // Set up navigation bar if needed
        if isPresentedModally {
            navigationItem.leftBarButtonItem = UIBarButtonItem(barButtonSystemItem: .stop, target: self, action: #selector(close))
        }
        
        // Set up scan QR code VC
        scanQRCodeVC.scanDelegate = delegate
        let scanQRCodeVCView = scanQRCodeVC.view!
        view.addSubview(scanQRCodeVCView)
        scanQRCodeVCView.pin(to: view)
    }
    
    override func viewDidAppear(_ animated: Bool) {
        super.viewDidAppear(animated)
        
        self.scanQRCodeVC.startCapture()
    }
    
    // MARK: - Interaction
    
    @objc private func close() {
        presentingViewController?.dismiss(animated: true, completion: nil)
    }
    
    public func startCapture() {
        self.scanQRCodeVC.startCapture()
    }
}