import 'package:doctor_app_flutter/config/size_config.dart';
import 'package:doctor_app_flutter/models/doctor/list_gt_my_patients_question_model.dart';
import 'package:doctor_app_flutter/icons_app/doctor_app_icons.dart';
import 'package:doctor_app_flutter/util/helpers.dart';
import 'package:doctor_app_flutter/util/translations_delegate_base.dart';
import 'package:doctor_app_flutter/widgets/patients/profile/large_avatar.dart';
import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:hexcolor/hexcolor.dart';

class DoctorReplyWidget extends StatefulWidget {
  final ListGtMyPatientsQuestions reply;
  bool isShowMore = false;

  DoctorReplyWidget({Key key, this.reply});

  @override
  _DoctorReplyWidgetState createState() => _DoctorReplyWidgetState();
}

class _DoctorReplyWidgetState extends State<DoctorReplyWidget> {
  @override
  Widget build(BuildContext context) {
    return  Stack(
      children: <Widget>[
        Container(
          margin: EdgeInsets.symmetric(vertical: 10.0),
          width: double.infinity,
          decoration: BoxDecoration(
            color: Hexcolor('#FFFFFF'),
            borderRadius: BorderRadius.all(
              Radius.circular(20.0),
            ),
          ),
          child: Container(
            margin: EdgeInsets.all(5),
            child: Column(
              children: <Widget>[
                SizedBox(height: 18,),
                Container(
                  margin: EdgeInsets.only(right: 15),
                  child: Row(
                    children: <Widget>[
                      SizedBox(width: 5,),
                      //LargeAvatar(icon: widget.reply.gender == 0 ? DoctorApp.male : DoctorApp.femaleicon ,),
                      Container(
                          decoration: BoxDecoration(
                            gradient: LinearGradient(
                                begin: Alignment(-1, -1),
                                end: Alignment(1, 1),
                                colors: [
                                  Colors.grey[100],
                                  Colors.grey[200],
                                ]),
                            boxShadow: [
                              BoxShadow(
                                  color: Color.fromRGBO(0, 0, 0, 0.08),
                                  offset: Offset(0.0, 5.0),
                                  blurRadius: 16.0)
                            ],
                            borderRadius: BorderRadius.all(Radius.circular(50.0)),
                          ),
                          width: 80,
                          height: 80,
                          child: Icon(widget.reply.gender == 1 ? DoctorApp.male : DoctorApp.femaleicon,size: 80,)),

                      SizedBox(width: 15,),
                      Expanded(
                        child: Container(
                          child: Column(
                            crossAxisAlignment: CrossAxisAlignment.start,
                            children: [
                              AppText(
                                widget.reply.patientName,
                                fontSize: 1.5 * SizeConfig.textMultiplier,
                                fontWeight: FontWeight.bold,
                              ),
                              SizedBox(
                                height: 5,
                              ),

                              Row(
                                children: [
                                  AppText(
                                    TranslationBase.of(context).fileNo,
                                    fontSize: 1.7 * SizeConfig.textMultiplier,
                                    fontWeight: FontWeight.bold,
                                  ),
                                  Container(
                                    margin: EdgeInsets.only(left: 5),
                                    child: AppText(
                                      '${widget.reply.patientID}',
                                      fontSize: 1.7 * SizeConfig.textMultiplier,
                                      fontWeight: FontWeight.bold,
                                    ),
                                  ),
                                ],
                              ),
                              SizedBox(
                                height: 5,
                              ),
                              Row(
                                children: [
                                  AppText(
                                    TranslationBase.of(context).mobileNo,
                                    fontSize: 1.7 * SizeConfig.textMultiplier,
                                    fontWeight: FontWeight.bold,
                                  ),
                                  Container(
                                    margin: EdgeInsets.only(left: 5),
                                    child: AppText(
                                      widget.reply.mobileNumber,
                                      fontSize: 1.7 * SizeConfig.textMultiplier,
                                      fontWeight: FontWeight.bold,
                                    ),
                                  ),
                                ],
                              ),
                              SizedBox(
                                height: 5,
                              ),
                              Row(
                                mainAxisAlignment: MainAxisAlignment.spaceBetween,
                                children: [
                                  Container(
                                    width: 70,
                                    height: 20,
                                    decoration: BoxDecoration(
                                        borderRadius: BorderRadius.all(Radius.circular(60.0)),
                                        color: Colors.green[600]
                                    ),
                                    child: Center(
                                      child: AppText(
                                        widget.reply.requestTime,
                                        fontSize: 1.5 * SizeConfig.textMultiplier,
                                        color: Colors.white,
                                      ),
                                    ),
                                  ),
                                  Container(

                                    child: AppText(
                                      '${Helpers.getDate(widget.reply.requestDate)}',
                                      fontSize: 1.7 * SizeConfig.textMultiplier,
                                      fontWeight: FontWeight.bold,
                                      color: Colors.black,
                                    ),
                                  ),
                                ],
                              ),

                            ],
                          ),
                        ),
                      )

                    ],
                  ),
                ),

              !widget.isShowMore ? SizedBox(height: 18,) :
              AnimatedContainer(
                duration: Duration(milliseconds: 200),
                child: Column(
                  crossAxisAlignment: CrossAxisAlignment.start,
                  children: <Widget>[
                    Divider(color: Colors.grey),
                    SizedBox(height: 5,),
                    AppText(
                      widget.reply.remarks,
                      fontSize: 2.5 * SizeConfig.textMultiplier,
                      //fontWeight: FontWeight.bold,
                    ),
                    SizedBox(height: 10,)
                  ],
                ),
              ),

              ],
            ),
          ),
        ),
        Positioned(
          right: 5,
          top: 20,
          child: InkWell(
            onTap: (){
              setState(() {
                widget.isShowMore = !widget.isShowMore;
              });
            },
              child: Icon(widget.isShowMore? Icons.keyboard_arrow_up : Icons.keyboard_arrow_down)),
        )
      ],

    );
  }
}
