import 'package:doctor_app_flutter/models/patient/my_referral/my_referral_patient_model.dart'; import 'package:doctor_app_flutter/models/patient/my_referral/my_referred_patient_model.dart'; import 'package:doctor_app_flutter/util/dr_app_toast_msg.dart'; import 'package:doctor_app_flutter/util/translations_delegate_base.dart'; import 'package:flutter/material.dart'; import 'package:doctor_app_flutter/config/size_config.dart'; import 'package:doctor_app_flutter/providers/referred_patient_provider.dart'; import 'package:doctor_app_flutter/util/helpers.dart'; import 'package:doctor_app_flutter/widgets/shared/Text.dart'; import 'package:doctor_app_flutter/widgets/shared/TextFields.dart'; import 'package:doctor_app_flutter/widgets/shared/app_button.dart'; import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart'; import 'package:doctor_app_flutter/widgets/shared/card_with_bgNew_widget.dart'; import 'package:flutter/cupertino.dart'; import 'package:provider/provider.dart'; class MyReferredPatientWidget extends StatefulWidget { final MyReferredPatientModel myReferredPatientModel; MyReferredPatientWidget({Key key, this.myReferredPatientModel}); @override _MyReferredPatientWidgetState createState() => _MyReferredPatientWidgetState(); } class _MyReferredPatientWidgetState extends State { bool _showDetails = false; bool _isLoading = false; TextEditingController answerController; @override void initState() { super.initState(); } @override Widget build(BuildContext context) { return CardWithBgWidgetNew( widget: Container( child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ AppText( '${widget.myReferredPatientModel.firstName} ${widget.myReferredPatientModel.lastName}', fontSize: 2.5 * SizeConfig.textMultiplier, fontWeight: FontWeight.bold, ), InkWell( onTap: () { setState(() { _showDetails = !_showDetails; }); }, child: Icon(_showDetails ? Icons.keyboard_arrow_up : Icons.keyboard_arrow_down)), ], ), !_showDetails ? Container() : AnimatedContainer( duration: Duration(milliseconds: 200), child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ SizedBox( height: 5, ), Divider( color: Color(0xFF000000), height: 0.5, ), Table( border: TableBorder.symmetric( inside: BorderSide(width: 0.5), ), children: [ TableRow(children: [ Container( margin: EdgeInsets.all(2.5), padding: EdgeInsets.all(5), decoration: BoxDecoration(), child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ AppText( TranslationBase.of(context).fileNo, fontSize: 1.7 * SizeConfig.textMultiplier, fontWeight: FontWeight.bold, ), AppText( '${widget.myReferredPatientModel.patientId}', fontSize: 1.7 * SizeConfig.textMultiplier, fontWeight: FontWeight.w300, ) ], ), ), Container( margin: EdgeInsets.only( left: 4, top: 2.5, right: 2.5, bottom: 2.5), padding: EdgeInsets.all(5), child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ AppText( TranslationBase.of(context).referralDoctor, fontSize: 1.7 * SizeConfig.textMultiplier, fontWeight: FontWeight.bold, ), Texts( widget.myReferredPatientModel .referralDoctorName, maxLength: 80, readMore: true, ), ], ), ), ]), TableRow( children: [ Container( margin: EdgeInsets.all(2.5), padding: EdgeInsets.all(5), child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ AppText( TranslationBase.of(context).referringClinic, fontSize: 1.7 * SizeConfig.textMultiplier, fontWeight: FontWeight.bold, ), AppText( '${widget.myReferredPatientModel.referralClinicDescription}', fontSize: 1.7 * SizeConfig.textMultiplier, fontWeight: FontWeight.w300, ) ], ), ), Container( margin: EdgeInsets.only( left: 4, top: 2.5, right: 2.5, bottom: 2.5), padding: EdgeInsets.all(5), child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ AppText( TranslationBase.of(context).frequency, fontSize: 1.7 * SizeConfig.textMultiplier, fontWeight: FontWeight.bold, ), AppText( widget.myReferredPatientModel .frequencyDescription, fontSize: 1.7 * SizeConfig.textMultiplier, fontWeight: FontWeight.w300, ) ], ), ) ], ), TableRow(children: [ Container( margin: EdgeInsets.all(2.5), padding: EdgeInsets.all(5), child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ AppText( TranslationBase.of(context).priority, fontSize: 1.7 * SizeConfig.textMultiplier, fontWeight: FontWeight.bold, ), AppText( '${widget.myReferredPatientModel.priorityDescription}', fontSize: 1.7 * SizeConfig.textMultiplier, fontWeight: FontWeight.w300, ) ], ), ), Container( margin: EdgeInsets.only( left: 4, top: 2.5, right: 2.5, bottom: 2.5), padding: EdgeInsets.all(5), child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ AppText( TranslationBase.of(context).maxResponseTime, fontSize: 1.7 * SizeConfig.textMultiplier, fontWeight: FontWeight.bold, ), AppText( Helpers.getDateFormatted(widget .myReferredPatientModel .maxResponseTime), fontSize: 1.7 * SizeConfig.textMultiplier, fontWeight: FontWeight.w300, ) ], ), ) ]) ], ), Divider( color: Color(0xFF000000), height: 0.5, ), SizedBox( height: 5, ), AppText( TranslationBase.of(context).clinicDetailsandRemarks, fontSize: 1.7 * SizeConfig.textMultiplier, fontWeight: FontWeight.bold, textAlign: TextAlign.start, ), SizedBox( height: 5, ), Texts( '${widget.myReferredPatientModel.referringDoctorRemarks}', style: "bodyText1", readMore: true, textAlign: TextAlign.start, maxLength: 100), SizedBox( height: 5, ), AppText( TranslationBase.of(context).answerSuggestions, fontSize: 1.7 * SizeConfig.textMultiplier, fontWeight: FontWeight.bold, textAlign: TextAlign.start, ), SizedBox( height: 5, ), Texts( '${widget.myReferredPatientModel.referredDoctorRemarks}', style: "bodyText1", readMore: true, textAlign: TextAlign.start, maxLength: 100), SizedBox( height: 5, ), SizedBox(height: 10.0), Container( width: double.infinity, child: Button( onTap: () async { try { setState(() { _isLoading = true; }); await Provider.of(context, listen: false).verify(widget.myReferredPatientModel); setState(() { _isLoading = false; }); DrAppToastMsg.showSuccesToast('Verify Successfully'); } catch (e) { setState(() { _isLoading = false; }); DrAppToastMsg.showErrorToast(e); } }, title: TranslationBase.of(context).verify, loading: _isLoading, ), ) ], ) ], ), ) ], ), ), ); } }