import 'package:doctor_app_flutter/config/size_config.dart'; import 'package:doctor_app_flutter/models/patient/patiant_info_model.dart'; import 'package:doctor_app_flutter/util/date-utils.dart'; import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart'; import 'package:doctor_app_flutter/widgets/shared/dr_app_circular_progress_Indeicator.dart'; import 'package:flutter/material.dart'; class PatientProfileButton extends StatelessWidget { final String nameLine1; final String nameLine2; final String icon; final dynamic route; final PatiantInformtion patient; final String patientType; String arrivalType; final bool isInPatient; String from; String to; final String url = "assets/images/"; final bool isDisable; final bool isLoading; final Function onTap; final bool isDischargedPatient; PatientProfileButton( {Key key, this.patient, this.patientType, this.arrivalType, this.nameLine1, this.nameLine2, this.icon, this.route, this.isDisable = false, this.onTap, this.isLoading = false, this.from, this.to, this.isInPatient = false, this.isDischargedPatient=false, }) : super(key: key); @override Widget build(BuildContext context) { return new Container( margin: new EdgeInsets.symmetric(horizontal: 4.0), padding: EdgeInsets.fromLTRB(10, 10, 10, 5), child: InkWell( onTap: isDisable ? null : onTap != null ? onTap : () { navigator(context, this.route); }, child: Column(children: [ Container( child: Row( mainAxisAlignment: MainAxisAlignment.start, children: [ Container( child: new Image.asset( url + icon, width: 50, height: 50, )) ], )), Container( alignment: Alignment.topLeft, padding: EdgeInsets.all(5), child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ AppText( this.nameLine1, color: Colors.black, /*Color(0xFFB9382C),*/ fontWeight: FontWeight.w600, textAlign: TextAlign.left, fontSize: SizeConfig.textMultiplier * 1.5, ), AppText( this.nameLine2, color: Colors.black, fontWeight: FontWeight.w600, textAlign: TextAlign.left, fontSize: SizeConfig.textMultiplier * 1.5, ), if (isLoading) DrAppCircularProgressIndeicator() ], ), ), ]), ), decoration: BoxDecoration( // border: Border.all(), color: isDisable ? Colors.grey.withOpacity(0.4) : Colors.white, borderRadius: BorderRadius.all(Radius.circular(10)), border: Border.fromBorderSide(BorderSide( color: Color(0xffBBBBBB), width: 1, )), /*boxShadow: [ BoxShadow( color: Colors.grey.withOpacity(0.2), spreadRadius: 5, blurRadius: 7, offset: Offset(0, 3), // changes position of shadow ), ],*/ ), ); } void navigator(BuildContext context, route) { if(route == null) return; if (from == null) { from = DateUtils.convertDateToFormat(DateTime.now(), 'yyyy-MM-dd'); } if (to == null) { to = DateUtils.convertDateToFormat(DateTime.now(), 'yyyy-MM-dd'); } if(arrivalType == null){ arrivalType = "0"; } Navigator.of(context).pushNamed(route, arguments: { 'patient': patient, 'from': from, 'to': to, 'patientType': patientType, 'arrivalType': arrivalType, 'isInpatient': isInPatient, 'isDischargedPatient': isDischargedPatient, }); } }