import 'package:doctor_app_flutter/config/size_config.dart';
import 'package:doctor_app_flutter/core/viewModel/doctor_replay_view_model.dart';
import 'package:doctor_app_flutter/models/doctor/list_gt_my_patients_question_model.dart';
import 'package:doctor_app_flutter/screens/base/base_view.dart';
import 'package:doctor_app_flutter/util/date-utils.dart';
import 'package:doctor_app_flutter/widgets/shared/app_scaffold_widget.dart';
import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
import 'package:hexcolor/hexcolor.dart';
import 'package:url_launcher/url_launcher.dart';

class DoctorReplayChat extends StatelessWidget {

  final ListGtMyPatientsQuestions reply;
  TextEditingController msgController = TextEditingController();
  final DoctorReplayViewModel  previousModel;
  DoctorReplayChat(
      {Key key, this.reply, this.previousModel,
     });

  @override
  Widget build(BuildContext context) {
    return BaseView<DoctorReplayViewModel>(
        onModelReady: (model) async {},
        builder: (_, model, w) => AppScaffold(
              baseViewModel: model,
              isShowAppBar: false,
              body: Container(
                height: MediaQuery.of(context).size.height * 1,
                color: Color(0XFFF2F2F2),
                child: Stack(
                  children: [
                    Container(
                      child: Column(
                        crossAxisAlignment: CrossAxisAlignment.start,
                        children: [
                          Container(
                            padding: EdgeInsets.only(
                                left: 0, right: 5, bottom: 5, top: 5),
                            decoration: BoxDecoration(
                              color: Colors.white,
                            ),
                            height: 115,
                            child: Container(
                              padding: EdgeInsets.only(
                                  left: 10, right: 10),
                              margin: EdgeInsets.only(top: 40),
                              child: Column(
                                children: [
                                  Row(
                                    mainAxisAlignment:
                                        MainAxisAlignment.spaceBetween,
                                    children: [
                                      Expanded(
                                        child: RichText(
                                          text: TextSpan(
                                            style: TextStyle(
                                                fontSize: 1.6 *
                                                    SizeConfig.textMultiplier,
                                                color: Colors.black),
                                            children: <TextSpan>[
                                              new TextSpan(
                                                  text: reply.patientName
                                                      .toString(),
                                                  style: TextStyle(
                                                      color: Color(0xFF2B353E),
                                                      fontWeight: FontWeight.bold,
                                                      fontFamily: 'Poppins',
                                                      fontSize: 20)),
                                            ],
                                          ),
                                        ),
                                      ),
                                      InkWell(
                                          onTap: () {
                                            Navigator.pop(context);
                                          },
                                          child: Icon(FontAwesomeIcons.times,
                                              size: 30,
                                              color: Color(0xFF2B353E)))
                                    ],
                                  ),
                                ],
                              ),
                            ),
                          ),
                          Expanded(
                            child: Padding(
                              padding: const EdgeInsets.all(16.0),
                              child: SingleChildScrollView(
                                child: Column(
                                  crossAxisAlignment: CrossAxisAlignment.start,
                                  children: [

                                    SizedBox(height: 30,),
                                    Container(
                                      // color: Color(0xFF2B353E),
                                      width: MediaQuery.of(context).size.width * 0.9,
                                      padding: EdgeInsets.all(10),
                                      decoration: BoxDecoration(
                                        color: Color(0xFF2B353E),
                                        borderRadius: BorderRadius.all(
                                          Radius.circular(10.0),
                                        ),
                                        border: Border.all(
                                            color:  HexColor('#707070') ,
                                            width: 0.30),
                                      ),
                                      child: Column(
                                        crossAxisAlignment: CrossAxisAlignment.start,
                                        mainAxisAlignment: MainAxisAlignment.start,
                                        children: <Widget>[
                                          Row(
                                            mainAxisAlignment: MainAxisAlignment.spaceBetween,
                                            crossAxisAlignment: CrossAxisAlignment.start,
                                            children: [
                                              Row(
                                                crossAxisAlignment: CrossAxisAlignment.start,
                                                mainAxisAlignment: MainAxisAlignment.spaceBetween,
                                                children: [
                                                  Container(
                                                    margin: EdgeInsets.only(top: 5),
                                                    width: 60,
                                                    height: 60,
                                                    child: Image.asset(
                                                      reply.gender == 1
                                                          ? 'assets/images/male_avatar.png'
                                                          : 'assets/images/female_avatar.png',
                                                      fit: BoxFit.cover,
                                                    ),
                                                  ),
                                                  Divider(),
                                                  SizedBox(width: 10,),
                                                  Container(
                                                    width: MediaQuery.of(context).size.width * 0.35,
                                                    child: AppText(
                                                      reply.patientName
                                                          .toString(),
                                                      fontSize: 14,
                                                      fontFamily: 'Poppins',
                                                      color: Colors.white,
                                                      fontWeight: FontWeight.bold,
                                                      // fontSize: 18
                                                    ),
                                                  ),
                                                  Container(
                                                    margin: EdgeInsets.symmetric(horizontal: 4),
                                                    child: InkWell(
                                                      onTap: () {
                                                        launch("tel://" +reply.mobileNumber);
                                                      },
                                                      child: Icon(
                                                        Icons.phone,
                                                        color: Colors.white,
                                                      ),
                                                    ),
                                                  ),
                                                ],
                                              ),
                                              Column(
                                                crossAxisAlignment: CrossAxisAlignment.center,

                                                children: [
                                                  AppText(
                                                    reply.createdOn !=null?DateUtils.getDayMonthYearDateFormatted(DateUtils.getDateTimeFromServerFormat(reply.createdOn)):DateUtils.getDayMonthYearDateFormatted(DateTime.now()),
                                                    fontWeight: FontWeight
                                                        .w600,
                                                    color: Colors.white,
                                                    fontSize: 14,
                                                  ),
                                                  AppText(
                                                      reply.createdOn !=null?DateUtils.getHour(DateUtils.getDateTimeFromServerFormat(reply.createdOn)):DateUtils.getHour(DateTime.now()),
                                                    fontSize:  14,
                                                    fontFamily: 'Poppins',
                                                    color: Colors.white,
                                                    // fontSize: 18
                                                  ),
                                                ],
                                              ),
                                            ],
                                          ),
                                          SizedBox(
                                            height: 10,
                                          ),
                                          Row(
                                            mainAxisAlignment: MainAxisAlignment.spaceBetween,
                                            crossAxisAlignment: CrossAxisAlignment.start,
                                            children: [
                                              Column(
                                                children: [
                                                  Padding(
                                                    padding: const EdgeInsets.all(8.0),
                                                    child: Container(
                                                      width: MediaQuery.of(context).size.width * 0.7,
                                                      child: AppText(
                                                        reply.remarks,
                                                        fontSize: 15,
                                                        fontFamily: 'Poppins',
                                                        color: Colors.white,
                                                        // fontSize: 18
                                                      ),
                                                    ),
                                                  ),
                                                ],
                                              ),
                                            ],
                                          ),
                                        ],
                                      ),
                                    ),
                                    SizedBox(height: 30,),
                                  ],
                                ),
                              ),
                            ),
                          )
                        ],
                      ),
                    ),

                    // Positioned(
                    //   bottom: 0,
                    //   child: Container(
                    //     width:MediaQuery.of(context).size.width * 1,
                    //     // height: MediaQuery.of(context).size.height * 0.12,
                    //     child: Column(
                    //       mainAxisSize: MainAxisSize.min,
                    //       children: <Widget>[
                    //         FractionallySizedBox(
                    //           child: Container(
                    //
                    //             child: TextFields(
                    //                 borderRadius: 0,
                    //                 hintText: TranslationBase
                    //                     .of(context)
                    //                     .typeHereToReply,
                    //                 fontSize: 13.5,
                    //
                    //                 suffixIcon: FontAwesomeIcons.arrowRight,
                    //                 suffixIconColor: Colors.green,
                    //                 onSuffixTap: ()async {
                    //                   GifLoaderDialogUtils.showMyDialog(context);
                    //                   await model.replay(msgController.text, reply);
                    //                   if(model.state == ViewState.ErrorLocal) {
                    //                     Helpers.showErrorToast("An error happened while you are replaying");
                    //                   } else {
                    //                     DrAppToastMsg.showSuccesToast("Thank you for your replay ");
                    //                     await previousModel.getDoctorReply();
                    //                     Navigator.pop(context);
                    //                   }
                    //                   GifLoaderDialogUtils.hideDialog(context);
                    //
                    //
                    //
                    //
                    //                 },
                    //                 // hintColor: Colors.black,
                    //                 fontWeight: FontWeight.w600,
                    //                 maxLines: 50,
                    //                 minLines: 3,
                    //                 controller: msgController,
                    //                 validator: (value) {
                    //                   if (value == null || value == "")
                    //                     return TranslationBase.of(context)
                    //                         .emptyMessage;
                    //                   else
                    //                     return null;
                    //                 }),
                    //
                    //           ),
                    //         ),
                    //       ],
                    //     ),
                    //   ),
                    // )
                  ],


                ),
              ),
            ));
  }
}
