using Assets.Scripts;
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Events;
using UnityEngine.EventSystems;
using UnityEngine.SceneManagement;
using UnityEngine.UI;

public class HomeController : PFUIPanel
{
    [SerializeField] Text Ftp;
    [SerializeField] RawImage Avatar;
    [SerializeField] Text Weight;
    [SerializeField] Text WKG;
    [SerializeField] Text Calories;
    [SerializeField] Text KM;
    [SerializeField] Text Climb;
    [SerializeField] Text NickName;
    [SerializeField] Button More;
    [SerializeField] Button BtnRide;

    // Start is called before the first frame update
    protected override void Start()
    {
        base.Start();
        //var parent = Utils.FindUpParent(gameObject.transform);
        //if (parent.Find("ToastContainer") == null) 
        //{
        //    var toast = Instantiate(Resources.Load<GameObject>("UI/Prefab/ToastContainer"));
        //    toast.name = "ToastContainer";
        //    toast.GetComponent<RectTransform>().position = new Vector3(Screen.width / 2, Screen.height / 2, 0);
        //    toast.transform.parent = parent;
        //}
        //if (ConfigHelper.CurrentUser != null)
        //{
        //    SetCurrentUser();
        //    GetSummary();
        //}
        //if (More != null) 
        //{
        //    More.onClick.AddListener(MoreFunc);
        //}
        BtnRide.onClick.AddListener(GoRide);
        var wifi = this.transform.Find("MainToolContainer").Find("Wifi");
        UIManager.AddEvent(wifi.gameObject, EventTriggerType.PointerClick, x =>
        {
            Debug.Log("click wifi");
            UIManager.ShowDevicePanel();
        });

        var avatar = this.transform.Find("UserInfo").Find("Image");
        UIManager.AddEvent(avatar.gameObject, EventTriggerType.PointerClick, x =>
        {
            UIManager.ShowUserInfoPanel();
        });
    }

    private void GoRide()
    {
        UIManager.ShowMapListPanel();
        //SceneManager.LoadScene("3-MapList");
    }

    void MoreFunc()
    {
        Utils.showToast(gameObject, "更多信息", 1);
    }

    void SetCurrentUser()
    {
        var user = ConfigHelper.CurrentUser;
        Ftp.text = user.FTP.ToString();
        Weight.text = user.Weight.ToString();
        WKG.text = $"{user.Weight}KG/{user.BicycleWeight}KG";
        NickName.text = user.Nickname;
        Utils.DisplayImage(StartCoroutine, Avatar, user.WxHeadImg);
    }
    void GetSummary()
    {
        var res = ConfigHelper.userApi.GetSummary();
        if (res.result)
        {
            KM.text = $"{res.data.TotalDistance.ToString("#0.00")}KM";
            Climb.text = $"{res.data.TotalClimb.ToString()}M";
            Calories.text = $"{res.data.Kcal.ToString()}KCAL";
            //Calories.text = res.data.
        }
        else
        {
            Utils.showToast(gameObject, res.errMsg);
        }
        //var res = await NoAuthApi.GetCurrentUser();
        //if (res.result)
        //{
        //    Global.CurrentUser = res.data;
        //    SetCurrentUser();
        //}
        //else 
        //{
        //    Utils.showToast(gameObject, res.errMsg);
        //}
    }
    // Update is called once per frame
    void Update()
    {
        
    }
}
