LaunchMyBodySettingVC.swift 2.19 KB
//
//  LaunchMyBodySettingVC.swift
//  HDFwear
//
//  Created by daifengyi on 2023/5/17.
//

import UIKit

class LaunchMyBodySettingVC: UIViewController {
    let user = UserInfo
    
    @IBOutlet weak var heightLabel: UILabel!
    @IBOutlet weak var weightLabel: UILabel!
    
    override func viewDidLoad() {
        super.viewDidLoad()

        // Do any additional setup after loading the view.
    }
    
    func updateUI() {
        heightLabel.text = "\(user.height)cm"
        weightLabel.text = "\(user.weight)kg"
    }
    
    @IBAction func selectHeight(_ sender: UITapGestureRecognizer) {
        let values = (120..<220).map { (i) -> Int in
            return i
        }
        let pickerView = ZCPickerView(title: LocString("身高"), values: values, suffix: "cm")
        pickerView.selectedRow = values.firstIndex(of: user.height) ?? 56
        pickerView.show()
        pickerView.clickClosure = {[weak self] value in
            self?.user.height = value
            self?.updateUI()
        }
    }
    
    @IBAction func selectWeight(_ sender: UITapGestureRecognizer) {
        let values = (40..<121).map { (i) -> Int in
            return i
        }
        let pickerView = ZCPickerView(title: LocString("体重"), values: values, suffix: "kg")
        pickerView.selectedRow = values.firstIndex(of: user.weight) ?? 26
        pickerView.show()
        pickerView.clickClosure = {[weak self] value in
            self?.user.weight = value
            self?.updateUI()
        }
    }
    
    @IBAction func nextButtonClicked(_ sender: UIButton) {
        updateUserInfo()
        KeyWindow.rootViewController = ZCTabBarController()
        KeyWindow.makeKeyAndVisible()
    }
    
    private func updateUserInfo() {
        BluetoothManager.shared.setUserInfo(user, completion: nil)
        AdminHelper.shared.updateUser(user)
        updateUI()
    }
    
    /*
    // MARK: - Navigation

    // In a storyboard-based application, you will often want to do a little preparation before navigation
    override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
        // Get the new view controller using segue.destination.
        // Pass the selected object to the new view controller.
    }
    */

}