import 'package:cached_network_image/cached_network_image.dart';
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:gmalpha_flutter/NewMessageModel/page/common.dart';
import 'package:gmalpha_flutter/NewMessageModel/service/remote/entity/LikePageEntity.dart';
import 'package:gmalpha_flutter/NewMessageModel/util/message_date.dart';
import 'package:gmalpha_flutter/res/value/ALColors.dart';

class LikeListItem extends StatelessWidget {
  final Data item;
  LikeListItem(this.item);
  
  Text myText(
    String text,
    Color color,
    double size,
    {int maxLines = 1, bool weight = false}
  ) {
    return Text(
      text,
      softWrap: true,
      maxLines: maxLines,
      overflow: TextOverflow.ellipsis,
      style: TextStyle(
        fontSize: ScreenUtil.instance.setSp(size),
        color: color,
        height: 1.38,
        fontWeight: weight ? FontWeight.bold : FontWeight.normal
      ),
    );
  }

    Widget listItemHead() {
    var businessId;
    if(item.likeContent != null){
      businessId = item.likeContent.id.toString() ;
    }
    else{
      businessId = item.userId.toString();
    }
    return ClipOval(
        child: GestureDetector(
            onTap: () {
              onClickLike('head_photo',{'business_id':businessId,'tab_name':''});
            },
            child: Container(
              color: ALColors.ColorE4E4E4,
              child: CachedNetworkImage(
                width: 42.0,
                height: 42.0,
                imageUrl: item.icon,
                fit: BoxFit.cover,
              ),
            )
        )
     
    );
  }

  Widget listItemRight() {
    var  commentImg;
    if(item.type!=2){
      if( item.likeContent.content != null && item.likeContent.contentType != 1){
        commentImg = item.likeContent.content ;
      }
      if(item.likeContent.content ==null && item.likeContent.contentType != 1){
        commentImg = 'http://alpha.iyanzhi.com/topic/2019/08/16/63ef62d019-w';
      }
    }
    var businessId;
    if(item.likeContent != null){
      businessId = item.likeContent.id.toString() ;
    }
    else{
      businessId = item.userId.toString();
    }
    return Container(
        child: GestureDetector(
            onTap: () {
              onClickLike('photo',{'business_id':businessId,'tab_name':''});
            },
            child: Container(
              color: ALColors.ColorE4E4E4,
              child: CachedNetworkImage(
                width: 42.0,
                height: 42.0,
                imageUrl: commentImg,
                fit: BoxFit.cover,
              ),
            )
          ),
    );
  }

  Widget listItemInfo() {
    var  commentInfo;
    var  commenTime;
    var replyContent;
    var textTop ;
    if(item.type != 2){
      if(item.likeContent.type == 0){
         commentInfo = '赞了你的回答';
      }
      else{
         commentInfo = '赞了你的评论';
      }
      commenTime = MessageDate(item.time).diffTime();
      if(item.type == 1){
        replyContent = item.likeContent.replyContent;
      }
    }
    if(item.content != null){
      textTop = 11.0 ;
    }
    else{
      textTop = 0.0 ;
    }
    var businessId;
    if(item.likeContent != null){
      businessId = item.likeContent.id.toString() ;
    }
    else{
      businessId = item.userId.toString();
    }
    return Expanded(
       child: GestureDetector(
          onTap: () {
            onClickLike('like_message',{'business_id':businessId,'tab_name':''});
          },
          child: Column(
            crossAxisAlignment: CrossAxisAlignment.start,
            children: <Widget>[
              Container(
                margin: EdgeInsets.only(left: ScreenUtil.instance.setWidth(10.0)),
                padding: EdgeInsets.only(top: ScreenUtil.instance.setHeight(textTop)),
                child: myText('${item.name??""}${item.content??""}${commentInfo??""}', ALColors.Color666666, 13.0),
              ),
              item.type ==1?  Padding(
                padding: EdgeInsets.only(left: ScreenUtil.instance.setWidth(10.0), top: ScreenUtil.instance.setHeight(3.0)),
                child: myText('${replyContent??""}', ALColors.Color999999, 10.0)
              ): Container(),
              Padding(
                padding: EdgeInsets.only(left: ScreenUtil.instance.setWidth(10.0), top: ScreenUtil.instance.setHeight(3.0)),
                child: myText('${commenTime??""}', ALColors.Color999999, 10.0)
              )
            ],
          ),
       )
    );
  }

  Widget listItemButton() {
    return Container(
      padding: EdgeInsets.only(top: ScreenUtil.instance.setHeight(5.0), left: ScreenUtil.instance.setWidth(12.0)),
      width: ScreenUtil.instance.setWidth(54.0),
      height: ScreenUtil.instance.setHeight(29.0),
      child: OutlineButton(
        padding: const EdgeInsets.only(left: 0.0, right: 0.0,),
        borderSide: BorderSide(
          color: ALColors.Color323232
        ),
        shape: RoundedRectangleBorder(borderRadius: BorderRadius.zero),
        onPressed: () {
          // todo 跳转到原生页面 详情页面
        },
        child: myText('查看', ALColors.Color323232, 13.0)
      ),
    );
  }
  
  @override
  Widget build(BuildContext context) {
     if(item.type == 2){
       return Container(
          child: Row(
            crossAxisAlignment: CrossAxisAlignment.start,
            children: <Widget>[
              listItemHead(),
              listItemInfo(),
              listItemButton()
            ],
          ),
        );
      }
      else{
        return Container(
          child: Row(
            crossAxisAlignment: CrossAxisAlignment.start,
            children: <Widget>[
              listItemHead(),
              listItemInfo(),
              listItemRight()
            ],
          ),
        );
      }
  }
}