LaunchMyInfoSettingVC.swift 3.74 KB
//
//  LaunchMyInfoSettingVC.swift
//  HDFwear
//
//  Created by daifengyi on 2023/5/17.
//

import UIKit

class LaunchMyInfoSettingVC: UIViewController {
    @IBOutlet weak var maleButton: UIButton!
    @IBOutlet weak var femaleButton: UIButton!
    @IBOutlet weak var nicknameField: UITextField!
    @IBOutlet weak var yearLabel: UILabel!
    @IBOutlet weak var dayLabel: UILabel!
    @IBOutlet weak var monthLabel: UILabel!
    
    let user = UserInfo
    
    override func viewDidLoad() {
        super.viewDidLoad()
        updateButtonUI(button: maleButton, selected: false)
        updateButtonUI(button: femaleButton, selected: false)
        let backBtn = BackButton(target: self, action: #selector(backBtnClicked))
        self.navigationItem.leftBarButtonItem = UIBarButtonItem.init(customView: backBtn)
    }
    
    @objc private func  backBtnClicked() {
        KeyWindow.rootViewController = ZCTabBarController()
        KeyWindow.makeKeyAndVisible()
    }
    
    func updateUI() {
        nicknameField.text = user.name
        if user.gender == 1 {
            updateButtonUI(button: maleButton, selected: true)
            updateButtonUI(button: femaleButton, selected: false)
        }else {
            updateButtonUI(button: maleButton, selected: false)
            updateButtonUI(button: femaleButton, selected: true)
        }
        yearLabel.text = user.birth.toString(.custom("yyyy"))
        monthLabel.text = user.birth.toString(.custom("MM"))
        dayLabel.text = user.birth.toString(.custom("dd"))
    }
    
    @IBAction func sexButtonClicked(_ sender: UIButton) {
        if sender.isSelected {
            return
        }
        if sender == maleButton {
            user.gender = 1
        }else {
            user.gender = 0
        }
        updateUI()
    }
    
    func updateButtonUI(button: UIButton, selected: Bool) {
        button.isSelected = selected
        button.backgroundColor = selected ? UIColor.rgbaColorFromHex(0x24C789, alpha:0.1) : UIColor.white
        button.borderColor(selected ? UIColor.rgbColorFromHex(0x24C789) : UIColor.rgbColorFromHex(0xE0E0E0))
    }
    
    @IBAction func nextButtonClicked(_ sender: UIButton) {
        let vc = UIStoryboard.loadViewControllerIdentifier(storyboardName: "Setting", identifier: "StepGoalViewController") as! StepGoalViewController
        vc.buttonTitle = "下一步"
        user.name = nicknameField.text ?? ""
        vc.stepGoalClosure = {[weak self] steps in
            self?.updateUserInfo()
            let vc = UIStoryboard.loadViewControllerIdentifier(storyboardName: "LaunchSetting", identifier: "LaunchMyBodySettingVC") as! LaunchMyBodySettingVC
            self?.navigationController?.pushViewController(vc, animated: true)
        }
        navigationController?.pushViewController(vc, animated: true)
    }
    
    @IBAction func selectBirthday(_ sender: Any) {
        let pickerView = DatePickerView(title: LocString("选择您的生日"), titleColor: UIColor.rgbColorFromHex(0xEF3257))
        pickerView.datePicker.datePickerMode = .date
        pickerView.datePicker.date = Date()
        pickerView.datePicker.maximumDate = Date()
        pickerView.show()
        pickerView.clickClosure = {[weak self] date in
            self?.user.birth = date
            self? .updateUI()
        }
    }
    
    private func updateUserInfo() {
        AdminHelper.shared.updateUser(user)
        BluetoothManager.shared.setUserInfo(user)
    }
    
    /*
    // 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.
    }
    */

}