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/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:provider/provider.dart'; class PatientReferralItemWidget extends StatelessWidget { final String? referralStatus; final int? referralStatusCode; final String? patientName; final int? patientGender; final String? referredDate; final String? referredTime; final String? patientID; final isSameBranch; final bool? isReferral; final bool? isReferralClinic; final String? referralClinic; final String? remark; final String? nationality; final String? nationalityFlag; final String? doctorAvatar; final String? referralDoctorName; final String? clinicDescription; final Widget? infoIcon; PatientReferralItemWidget( {this.referralStatus, this.referralStatusCode, this.patientName, this.patientGender, this.referredDate, this.referredTime, this.patientID, this.isSameBranch, this.isReferral, this.remark, this.nationality, this.nationalityFlag, this.doctorAvatar, this.referralDoctorName, this.clinicDescription, this.infoIcon, this.isReferralClinic = false, this.referralClinic}); @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: [ Container( child: CardWithBgWidget( bgColor: referralStatusCode == 1 ? Color(0xffc4aa54) : referralStatusCode == 46 ? Colors.green[700]! : Colors.red[700]!, 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: referralStatusCode == 1 ? Color(0xffc4aa54) : referralStatusCode == 46 ? Colors.green[700] : Colors.red[700], ), AppText( referredDate!, fontFamily: 'Poppins', fontWeight: FontWeight.w600, fontSize: 2.0 * SizeConfig.textMultiplier!, color: Color(0XFF28353E), ) ], ), Row( crossAxisAlignment: CrossAxisAlignment.start, children: [ Expanded( child: AppText( patientName!, fontSize: SizeConfig.textMultiplier! * 2.2, fontWeight: FontWeight.bold, color: Colors.black, fontFamily: 'Poppins', ), ), SizedBox( width: 4, ), patientGender == 1 ? Icon( DoctorApp.male_2, color: Colors.blue, ) : Icon( DoctorApp.female_1, color: Colors.pink, ), SizedBox( width: 4, ), AppText( referredTime!, 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( patientID!, fontFamily: 'Poppins', fontWeight: FontWeight.w700, fontSize: 1.8 * SizeConfig.textMultiplier!, color: Color(0XFF2E303A), ), ], ), Row( mainAxisAlignment: MainAxisAlignment.start, children: [ AppText( isSameBranch ? TranslationBase.of(context).referredFrom : TranslationBase.of(context).refClinic, fontFamily: 'Poppins', fontWeight: FontWeight.w600, fontSize: 1.7 * SizeConfig.textMultiplier!, color: Color(0XFF575757), ), AppText( !isReferralClinic! ? isSameBranch ? TranslationBase.of(context).sameBranch : TranslationBase.of(context).otherBranch : " " + referralClinic!, fontFamily: 'Poppins', fontWeight: FontWeight.w700, fontSize: 1.8 * SizeConfig.textMultiplier, color: Color(0XFF2E303A), ), ], ), ], ), ), Row( children: [ AppText( nationality != null ? nationality! : "", fontWeight: FontWeight.bold, color: Color(0xFF2E303A), fontSize: 1.4 * SizeConfig.textMultiplier, ), nationalityFlag != null ? ClipRRect( borderRadius: BorderRadius.circular(20.0), child: Image.network( nationalityFlag!, 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( remark ?? "", fontFamily: 'Poppins', fontWeight: FontWeight.w700, fontSize: 1.8 * SizeConfig.textMultiplier!, color: Color(0XFF2E303A), maxLines: 1, ), ), ], ), Row( crossAxisAlignment: CrossAxisAlignment.start, children: [ Container( margin: EdgeInsets.only(left: 10, right: 0), child: Image.asset( isReferral! ? '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: doctorAvatar != null ? ClipRRect( borderRadius: BorderRadius.circular(20.0), child: Image.network( doctorAvatar!, height: 25, width: 30, errorBuilder: (BuildContext context, Object exception, StackTrace? stackTrace) { return Text('No Image'); }, )) : Container( child: Image.asset( patientGender == 1 ? 'assets/images/male_avatar.png' : '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( crossAxisAlignment: CrossAxisAlignment.start, children: [ AppText( referralDoctorName!, fontFamily: 'Poppins', fontWeight: FontWeight.w800, fontSize: 1.7 * SizeConfig.textMultiplier!, color: Colors.black, ), if (clinicDescription != null) AppText( clinicDescription!, fontFamily: 'Poppins', fontWeight: FontWeight.w700, fontSize: 1.4 * SizeConfig.textMultiplier!, color: Color(0XFF2E303A), ), ], ), ), ), ], ), Container(width: double.infinity, alignment: Alignment.centerRight, child: infoIcon ?? Container()) ], ), // onTap: onTap, )), ), ), ], ), ); } }