import 'package:flutter/material.dart';
import 'package:zhiying_comm/zhiying_comm.dart';

///
/// 我的团队 - 粉丝信息
///
class TeamFansItem extends StatefulWidget {
  @override
  _TeamFansItemState createState() => _TeamFansItemState();
}

class _TeamFansItemState extends State<TeamFansItem> {
  @override
  Widget build(BuildContext context) {
    return _getMainWidget();
  }

  /// 主体视图
  Widget _getMainWidget() {
    return Container(
      decoration: BoxDecoration(color: HexColor.fromHex('#FFFFFF'), borderRadius: BorderRadius.circular(10)),
      margin: const EdgeInsets.only(left: 12.5, right: 12.5, top: 8),
      padding: const EdgeInsets.only(left: 20, right: 20, top: 17.5, bottom: 15),
      child: Column(
        children: <Widget>[
          // 粉丝头像信息等
          _getFansInfoWidget(),
          const SizedBox(height: 10),
          // 微信号码
          _getWXNumberInfoWidget(),
          const SizedBox(height: 10),
          // 数据信息
          _getDataWidget(),
        ],
      ),
    );
  }

  /// 粉丝头像信息等
  Widget _getFansInfoWidget() {
    return Row(
      children: <Widget>[
        /// 头像
        Container(width: 50, height: 50, color: Colors.red),
        const SizedBox(width: 10),

        /// 信息
        Column(
          mainAxisAlignment: MainAxisAlignment.center,
          crossAxisAlignment: CrossAxisAlignment.start,
          children: <Widget>[
            /// 会员等级 关系 昵称
            RichText(
              text: TextSpan(text: '', children: [
                /// 等级
                WidgetSpan(child: Container(width: 37, height: 13, color: Colors.red)),

                /// 会员关系
                WidgetSpan(child: Container(width: 13, height: 13, color: Colors.red, margin: const EdgeInsets.only(left: 3, right: 3))),

                /// 会员名称
                TextSpan(text: '温***哥', style: TextStyle(color: HexColor.fromHex('#333333'), fontSize: 12, fontWeight: FontWeight.bold))
              ]),
            ),

            /// 手机号码
            RichText(
              text: TextSpan(text: '', children: [
                /// 手机号码
                TextSpan(text: '手机号:', style: TextStyle(color: HexColor.fromHex('#333333'), fontSize: 11)),
                TextSpan(text: '124****6124', style: TextStyle(color: HexColor.fromHex('#333333'), fontSize: 11, fontFamily: 'Din', package: 'zhiying_base_widget')),

                /// 复制按钮
                WidgetSpan(child: Container(width: 11, height: 11, color: Colors.red, margin: const EdgeInsets.only(left: 3)))
              ]),
            ),
          ],
        )
      ],
    );
  }

  /// 微信号码信息
  Widget _getWXNumberInfoWidget() {
    return Container(
      padding: const EdgeInsets.only(left: 9, right: 10, bottom: 6.5, top: 6.5),
      decoration: BoxDecoration(
        color: HexColor.fromHex('#F7F7F7'),
        borderRadius: BorderRadius.circular(10),
      ),
      child: Row(
        mainAxisAlignment: MainAxisAlignment.spaceBetween,
        children: <Widget>[
          /// 微信号码
          RichText(
            text: TextSpan(text: '微信号:', style: TextStyle(color: HexColor.fromHex('#999999'), fontSize: 11, fontWeight: FontWeight.bold), children: [
              TextSpan(
                  text: '54A78',
                  style: TextStyle(fontWeight: FontWeight.bold, color: HexColor.fromHex('#333333'), fontSize: 11, fontFamily: 'Din', package: 'zhiying_base_widget')),
              WidgetSpan(child: Container(margin: const EdgeInsets.only(left: 5.5), color: Colors.red, width: 11, height: 11))
            ]),
          ),

          /// 最近登陆时间
          Text('最近登陆 2019-06-28', style: TextStyle(color: HexColor.fromHex('#909090'), fontSize: 11, fontFamily: 'Din', package: 'zhiying_base_widget'))
        ],
      ),
    );
  }

  /// 数据信息
  Widget _getDataWidget() {
    return Row(
      mainAxisAlignment: MainAxisAlignment.spaceAround,
      children: <Widget>[
        /// 左边数据
        Flexible(
          flex: 1,
          child: Column(
            mainAxisAlignment: MainAxisAlignment.center,
            crossAxisAlignment: CrossAxisAlignment.center,
            children: <Widget>[
              /// 邀请人数(人)
              _getCustomWidget(
                text: '邀请人数(人)',
                textColor: '#333333',
                textSize: 10,
                number: '1578',
                numberColor: '#FF4242',
                numberSize: 20,
              ),
              const SizedBox(height: 15),
              /// 今日邀请 & 本月邀请
              Row(
                mainAxisAlignment: MainAxisAlignment.spaceAround,
                children: <Widget>[
                  /// 今日邀请
                  _getCustomWidget(
                    text: '今日邀请',
                    textColor: '#909090',
                    textSize: 10,
                    number: '3258',
                    numberColor: '#333333',
                    numberSize: 15,
                  ),

                  /// 本月邀请
                  _getCustomWidget(
                    text: '本月邀请',
                    textColor: '#909090',
                    textSize: 10,
                    number: '3258',
                    numberColor: '#333333',
                    numberSize: 15,
                  ),
                ],
              )
            ],
          ),
        ),

        /// 分割线
        SizedBox( height:65.5, width: 0.5,child: VerticalDivider(width: 0.5, thickness: 0.5, color: HexColor.fromHex('#F7F7F7'))),

        /// 右边数据
        Flexible(
          flex: 1,
          child: Column(
            mainAxisAlignment: MainAxisAlignment.center,
            crossAxisAlignment: CrossAxisAlignment.center,
            children: <Widget>[
              /// 累计收益(¥)
              _getCustomWidget(
                text: '累计收益(¥)',
                textColor: '#333333',
                textSize: 10,
                number: '157.54',
                numberColor: '#FF4242',
                numberSize: 20,
              ),

              const SizedBox(height: 15),

              /// 近7天收益 & 本月收益
              Row(
                mainAxisAlignment: MainAxisAlignment.spaceAround,
                children: <Widget>[
                  /// 今日邀请
                  _getCustomWidget(
                    text: '近7天收益',
                    textColor: '#909090',
                    textSize: 10,
                    number: '4.12',
                    numberColor: '#333333',
                    numberSize: 15,
                  ),

                  /// 本月邀请
                  _getCustomWidget(
                    text: '本月收益',
                    textColor: '#909090',
                    textSize: 10,
                    number: '528.14',
                    numberColor: '#333333',
                    numberSize: 15,
                  ),
                ],
              )
            ],
          ),
        )
      ],
    );
  }

  /// 自定义Widget(数字加粗)
  Widget _getCustomWidget({String text, String textColor, double textSize, String number, String numberColor, double numberSize, String icon}) {
    return Column(
      mainAxisAlignment: MainAxisAlignment.center,
      crossAxisAlignment: CrossAxisAlignment.center,
      children: <Widget>[
        /// Number
        Row(
          mainAxisAlignment: MainAxisAlignment.center,
          crossAxisAlignment: CrossAxisAlignment.center,
          children: <Widget>[
            /// nummber\
            Text(number,
                style: TextStyle(color: HexColor.fromHex(numberColor), fontSize: numberSize, fontWeight: FontWeight.bold, fontFamily: 'Din', package: 'zhiying_base_widget')),
            const SizedBox(width: 3),

            /// icon
            Visibility(visible: !EmptyUtil.isEmpty(icon), child: Container(height: 7, width: 5, color: Colors.red))
          ],
        ),

        /// Text
        Text(text, style: TextStyle(color: HexColor.fromHex(textColor), fontSize: textSize))
      ],
    );
  }
}