import 'package:doctor_app_flutter/config/size_config.dart'; import 'package:doctor_app_flutter/core/viewModel/project_view_model.dart'; import 'package:doctor_app_flutter/icons_app/doctor_app_icons.dart'; import 'package:doctor_app_flutter/models/patient/my_referral/PendingReferral.dart'; import 'package:doctor_app_flutter/util/translations_delegate_base.dart'; import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart'; import 'package:doctor_app_flutter/widgets/shared/card_with_bg_widget.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:font_awesome_flutter/font_awesome_flutter.dart'; import 'package:provider/provider.dart'; class PatientReferralItemWidget extends StatelessWidget { final String patientName; final String patientID; final String referralStatus; final isReferredTo; final isSameBranch; final String referralDoctorName; final String clinicDescription; final String remark; final String referredOn; final String answerFromTarget; final Widget infoIcon; final PendingReferral patientInfo; PatientReferralItemWidget( this.patientID, { this.patientName, this.referralStatus, this.isReferredTo = false, this.isSameBranch, this.referralDoctorName, this.clinicDescription, this.remark, this.referredOn, this.answerFromTarget, this.infoIcon, this.patientInfo, }); @override Widget build(BuildContext context) { ProjectViewModel projectViewModel = Provider.of(context); return Container( margin: EdgeInsets.only(left: 16.0, right: 16.0, top: 8.0), child: Column( children: [ // TODO should be removed by mousa // Row( // children: [ // Expanded( // child: Column( // crossAxisAlignment: CrossAxisAlignment.start, // children: [ // if (referralStatus != null) // Row( // children: [ // AppText( // TranslationBase.of(context).referralStatus, // color: Colors.grey, // fontWeight: FontWeight.bold, // fontSize: 12, // ), // Container( // color: Color(0xFF4BA821), // padding: EdgeInsets.all(4), // child: AppText( // referralStatus // /*referralStatus == "46" // ? TranslationBase.of(context).approved // : TranslationBase.of(context).rejected*/ // , // color: Colors.white, // fontWeight: FontWeight.bold, // fontSize: 12, // ), // ), // ], // ), // SizedBox( // height: 8, // ), // Row( // children: [ // AppText( // isReferredTo // ? "${TranslationBase.of(context).referTo}: " // : "${TranslationBase.of(context).referredFrom}: ", // color: Colors.grey, // fontWeight: FontWeight.bold, // fontSize: 12, // ), // AppText( // isSameBranch // ? TranslationBase.of(context).sameBranch // : TranslationBase.of(context).otherBranch, // color: Colors.black, // fontWeight: FontWeight.bold, // fontSize: 12, // ), // ], // ), // SizedBox( // height: 8, // ), // Row( // crossAxisAlignment: CrossAxisAlignment.start, // children: [ // AppText( // "${TranslationBase.of(context).referralDoctor} : ", // color: Colors.grey, // fontWeight: FontWeight.bold, // fontSize: 12, // ), // Expanded( // child: AppText( // referralDoctorName != null // ? "${TranslationBase.of(context).dr} $referralDoctorName" // : "-", // color: Colors.black, // fontWeight: FontWeight.bold, // fontSize: 12, // ), // ), // ], // ), // SizedBox( // height: 8, // ), // if (clinicDescription != null) // Row( // children: [ // AppText( // "${TranslationBase.of(context).clinic}: ", // color: Colors.grey, // fontWeight: FontWeight.bold, // fontSize: 12, // ), // AppText( // clinicDescription, // color: Colors.black, // fontWeight: FontWeight.bold, // fontSize: 12, // ), // ], // ), // SizedBox( // height: 8, // ), // Row( // children: [ // AppText( // "${TranslationBase.of(context).patientID}: ", // color: Colors.grey, // fontWeight: FontWeight.bold, // fontSize: 12, // ), // AppText( // patientID ?? '-', // color: Colors.black, // fontWeight: FontWeight.bold, // fontSize: 12, // ), // ], // ), // SizedBox( // height: 8, // ), // Row( // children: [ // AppText( // "${TranslationBase.of(context).patientName}: ", // color: Colors.grey, // fontWeight: FontWeight.bold, // fontSize: 12, // ), // AppText( // patientName ?? '-', // color: Colors.black, // fontWeight: FontWeight.bold, // fontSize: 12, // ), // ], // ), // SizedBox( // height: 8, // ), // Row( // crossAxisAlignment: CrossAxisAlignment.start, // children: [ // AppText( // TranslationBase.of(context).referralRemark, // color: Colors.grey, // fontWeight: FontWeight.bold, // fontSize: 12, // ), // Expanded( // child: AppText( // remark, // color: Colors.black, // fontWeight: FontWeight.bold, // fontSize: 12, // ), // ), // ], // ), // SizedBox( // height: 8, // ), // Row( // children: [ // AppText( // TranslationBase.of(context).referredOn, // color: Colors.grey, // fontWeight: FontWeight.bold, // fontSize: 12, // ), // AppText( // referredOn ?? '-', // color: Colors.black, // fontWeight: FontWeight.bold, // fontSize: 12, // ), // ], // ), // if (answerFromTarget != null) // SizedBox( // height: 8, // ), // if (answerFromTarget != null) // Row( // children: [ // AppText( // TranslationBase.of(context).referralResponse, // color: Colors.grey, // fontWeight: FontWeight.bold, // fontSize: 12, // ), // AppText( // answerFromTarget != "" ? answerFromTarget : '-', // color: Colors.black, // fontWeight: FontWeight.bold, // fontSize: 12, // ), // ], // ), // SizedBox( // height: 16, // ), // ], // ), // ), // if (infoIcon != null) infoIcon, // ], // ), // const Divider( // color: Color(0xffCCCCCC), // height: 1, // thickness: 1, // indent: 0, // endIndent: 0, // ), // SizedBox( // height: 8, // ), Container( child: CardWithBgWidget( bgColor: referralStatus != null ? referralStatus == 'Pending' ? Color(0xffc4aa54) : Colors.red[800] : Colors.grey[500], hasBorder: false, widget: Container( // padding: EdgeInsets.only(left: 20, right: 0, bottom: 0), child: InkWell( child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ AppText( referralStatus != null ? referralStatus : "", fontFamily: 'Poppins', fontSize: 1.9 * SizeConfig.textMultiplier, fontWeight: FontWeight.w700, color: referralStatus != null ? referralStatus == 'Pending' ? Color(0xffc4aa54) : referralStatus == 'Accepted' ? Colors.green[700] : Colors.red[700] : Colors.grey[500], ), AppText( referredOn, fontFamily: 'Poppins', fontWeight: FontWeight.w600, fontSize: 2.0 * SizeConfig.textMultiplier, color: Color(0XFF28353E), ) ], ), Row( crossAxisAlignment: CrossAxisAlignment.start, children: [ Expanded( child: AppText( patientInfo.patientName, fontSize: SizeConfig.textMultiplier * 2.2, fontWeight: FontWeight.bold, backGroundcolor: Colors.white, color: Colors.black, fontFamily: 'Poppins', ), ), SizedBox( width: 4, ), /*patient.gender*/ 1 == 1 ? Icon( DoctorApp.male_2, color: Colors.blue, ) : Icon( DoctorApp.female_1, color: Colors.pink, ), SizedBox( width: 4, ), AppText( referredOn, fontFamily: 'Poppins', fontWeight: FontWeight.w600, fontSize: 1.8 * SizeConfig.textMultiplier, color: Color(0XFF575757), ) ], ), Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, crossAxisAlignment: CrossAxisAlignment.center, children: [ Expanded( child: Column( children: [ Row( mainAxisAlignment: MainAxisAlignment.start, children: [ AppText( TranslationBase.of(context).fileNumber, fontFamily: 'Poppins', fontWeight: FontWeight.w600, fontSize: 1.7 * SizeConfig.textMultiplier, color: Color(0XFF575757), ), AppText( patientInfo.patientID.toString(), fontFamily: 'Poppins', fontWeight: FontWeight.w700, fontSize: 1.8 * SizeConfig.textMultiplier, color: Color(0XFF2E303A), ), ], ), Row( mainAxisAlignment: MainAxisAlignment.start, children: [ AppText( TranslationBase.of(context).referredFrom, fontFamily: 'Poppins', fontWeight: FontWeight.w600, fontSize: 1.7 * SizeConfig.textMultiplier, color: Color(0XFF575757), ), AppText( isSameBranch ? TranslationBase.of(context).sameBranch : TranslationBase.of(context) .otherBranch, fontFamily: 'Poppins', fontWeight: FontWeight.w700, fontSize: 1.8 * SizeConfig.textMultiplier, color: Color(0XFF2E303A), ), ], ), ], ), ), Row( children: [ AppText( /*patient.nationalityName ?? patient.nationality*/ "Saudi", fontWeight: FontWeight.bold, color: Color(0xFF2E303A), fontSize: 1.4 * SizeConfig.textMultiplier, ), /* patient.nationality != null ? ClipRRect( borderRadius: BorderRadius .circular( 20.0), child: Image.network( patient .nationalityFlagURL, height: 25, width: 30, errorBuilder: (BuildContext context, Object exception, StackTrace stackTrace) { return Text( 'No Image'); }, ))*/ /*:*/ SizedBox() ], ) ], ), Row( mainAxisAlignment: MainAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start, children: [ AppText( TranslationBase.of(context).remarks + " : ", fontFamily: 'Poppins', fontWeight: FontWeight.w600, fontSize: 1.7 * SizeConfig.textMultiplier, color: Color(0XFF575757), ), Expanded( child: AppText( patientInfo.remarksFromSource, fontFamily: 'Poppins', fontWeight: FontWeight.w700, fontSize: 1.8 * SizeConfig.textMultiplier, color: Color(0XFF2E303A), ), ), ], ), Row( crossAxisAlignment: CrossAxisAlignment.start, children: [ Container( margin: EdgeInsets.only(left: 10, right: 0), child: Image.asset( infoIcon != null ? 'assets/images/patient/ic_ref_arrow_up.png' : 'assets/images/patient/ic_ref_arrow_left.png', height: 50, width: 30, ), ), Container( margin: EdgeInsets.only( left: 0, top: 25, right: 0, bottom: 0), padding: EdgeInsets.only(left: 4.0, right: 4.0), child: Container( width: 40, height: 40, child: Image.asset( 'assets/images/female_avatar.png', fit: BoxFit.cover, ), ), ), Expanded( flex: 4, child: Container( margin: EdgeInsets.only( left: 10, top: 25, right: 10, bottom: 0), child: Column( children: [ RichText( text: TextSpan( style: TextStyle( fontSize: 2.0 * SizeConfig.textMultiplier, color: Colors.black), children: [ TextSpan( text: TranslationBase.of(context) .referralDoctor + " : ", style: TextStyle( fontSize: 14, fontFamily: 'Poppins')), TextSpan( text: referralDoctorName, style: TextStyle( fontWeight: FontWeight.w700, fontFamily: 'Poppins', fontSize: 15)), ], ), ) ], ), ), ), ], ), Container( width: double.infinity, alignment: Alignment.centerRight, child: infoIcon ?? Container()) ], ), // onTap: onTap, )), ), ), ], ), ); } }