//
//  ScanQRViewController.swift
//  PaiAi
//
//  Created by zhengjianfei on 16/4/8.
//  Copyright © 2016年 FFIB. All rights reserved.
//

import UIKit
import AVFoundation
import PaiaiDataKit
import PaiaiUIKit

final class ScanQRViewController: UIViewController {

    // MARK: Storyboard property
    @IBOutlet weak var scanView: QRCodeScanView!

   // MARK: parameter property
    var viewModel = ScanQRViewModel()
    

    // MARK: view function
    override func viewDidLoad() {
        super.viewDidLoad()
        scanView.delegate = self
        viewModel.join(code: "http://pai.ai/g/SpA5be3")
    }
    
    func setNavigationBar() {
        title = "二维码"
        navigationController?.navigationBar.setBackgroundImage(UIImage.Navigation.blackBackground, for: .default)
    }
    
    override func viewWillAppear(_ animated: Bool) {
        super.viewWillAppear(animated)
        setNavigationBar()
    }

    override func viewWillDisappear(_ animated: Bool) {
        super.viewWillDisappear(animated)
        navigationController?.navigationBar.setBackgroundImage(UIImage.Navigation.background, for: .default)
    }
    
}

/// storyboard button action
extension ScanQRViewController {
    @IBAction func openPhotoLibrary(_ sender: UIButton) {
        scanView.openPhotoLibrary(ctl: self)
    }
    
    @IBAction func openLight(_ sender: UIButton) {
        scanView.openLight()
    }
}

// MARK: read QR message
// MARK: custom delegate function
extension ScanQRViewController: QRCodeScanViewDelegate {
    func scanView(_ scanView: QRCodeScanView, didFinshWithError error: NSError?) {}
    
    func scanView(_ scanner: QRCodeScanView, receivedScanResult: QRCodeScanResult) {
        viewModel.join(code: receivedScanResult.result)
    }
}

extension ScanQRViewController: NavigationBackViewController {}