//
//  MessageViewController.swift
//  PaiAi
//
//  Created by FFIB on 2018/6/14.
//  Copyright © 2018 yb. All rights reserved.
//

import UIKit
import RxSwift
import PaiaiDataKit

class MessageViewController: UIViewController {

    @IBOutlet weak var sysUnreadTip: UIView!
    @IBOutlet weak var thumbupUnreadTip: UIView!
    @IBOutlet weak var commentUnreadTip: UIView!
    
    @IBOutlet weak var sysBtn: UIButton!
    @IBOutlet weak var thumbupBtn: UIButton!
    @IBOutlet weak var commentBtn: UIButton!
    
    var viewModel: MessageViewModel!
    var userInfoViewModel: UserInfoViewModel!
    
    private var disposeBag = DisposeBag()
    
    override func viewDidLoad() {
        super.viewDidLoad()
        binding()
    }
    
    override func didMove(toParent parent: UIViewController?) {
        self.viewModel.reload()
    }
}

extension MessageViewController {
    func binding() {
        bindInteraction()
        bindViewModelToTipView()
        bindUerInfoViewModelToView()
    }
    
    func bindInteraction() {
        sysBtn.rx.tap.bind(to: viewModel.sysBtnTapped).disposed(by: disposeBag)
        thumbupBtn.rx.tap.bind(to: viewModel.thumbupBtnTapped).disposed(by: disposeBag)
        commentBtn.rx.tap.bind(to: viewModel.commentBtnTapped).disposed(by: disposeBag)
    }
    
    func bindViewModelToTipView() {
        viewModel.sysReadedTip.bind(to: sysUnreadTip.rx.isHidden).disposed(by: disposeBag)
        viewModel.commentReadedTip.bind(to: commentUnreadTip.rx.isHidden).disposed(by: disposeBag)
        viewModel.thumbupReadedTip.bind(to: thumbupUnreadTip.rx.isHidden).disposed(by: disposeBag)
    }
    
    func bindUerInfoViewModelToView() {
        userInfoViewModel.isLoggedIn
            .asDriver(onErrorJustReturn: ())
            .drive(onNext: {[unowned self] (_) in
                self.viewModel.reload()
            }).disposed(by: disposeBag)
    }
}