import 'package:doctor_app_flutter/config/size_config.dart'; import 'package:doctor_app_flutter/core/viewModel/patient_view_model.dart'; import 'package:doctor_app_flutter/core/viewModel/sick_leave_view_model.dart'; import 'package:doctor_app_flutter/icons_app/doctor_app_icons.dart'; import 'package:doctor_app_flutter/models/sickleave/get_all_sickleave_response.dart'; import 'package:doctor_app_flutter/screens/base/base_view.dart'; import 'package:doctor_app_flutter/screens/sick-leave/sick_leave.dart'; import 'package:doctor_app_flutter/util/translations_delegate_base.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:doctor_app_flutter/widgets/shared/card_with_bgNew_widget.dart'; import 'package:flutter/material.dart'; import 'package:hexcolor/hexcolor.dart'; class AddSickLeavScreen extends StatelessWidget { @override Widget build(BuildContext context) { return BaseView( onModelReady: (model) => model.getSickLeave(), builder: (_, model, w) => AppScaffold( baseViewModel: model, appBarTitle: TranslationBase.of(context).sickleave, body: model.getAllSIckLeave.length > 0 ? SingleChildScrollView( child: Column( children: model.getAllSIckLeave .map((GetAllSickLeaveResponse item) { return CardWithBgWidgetNew( widget: Column( children: [ Container( padding: EdgeInsets.only(left: 10, right: 10), child: Row( mainAxisAlignment: MainAxisAlignment.start, children: [ Expanded( flex: 4, child: Wrap( // mainAxisAlignment: // MainAxisAlignment.start, children: [ Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ Container( padding: EdgeInsets.all(3), child: AppText( item.status == 1 ? TranslationBase.of( context) .approved : item.status == 2 ? TranslationBase .of(context) .extended : TranslationBase .of(context) .pending, fontWeight: FontWeight.bold, color: Colors.white, ), color: item.status == 1 ? Colors.green : Colors.yellow[800], ), Row( children: [ AppText( TranslationBase.of( context) .leaveStartDate + ' ', fontWeight: FontWeight.bold, ), Flexible( child: Text( item.startDate, overflow: TextOverflow.ellipsis, )) ], ), AppText( item.noOfDays.toString() + ' ' + TranslationBase.of( context) .daysSickleave, fontWeight: FontWeight.bold, ), Row(children: [ AppText( item.remarks, ) ]), ], ), SizedBox( width: 20, ), ], ), ), (item.status == 1 || item.status == 2) ? Expanded( flex: 1, child: IconButton( icon: Icon( Icons.open_in_full, size: 40, ), // color: Colors.green, //Colors.black, onPressed: () => { openSickLeave(context, true, extendedData: item) }, )) : SizedBox(), ], )), SizedBox( height: 20, ), Divider( height: 1, ), ], )); }).toList(), ), ) : new Builder(builder: (context) { return Center( child: SingleChildScrollView( child: Column( mainAxisAlignment: MainAxisAlignment.center, children: [ Container( padding: EdgeInsets.all(40), decoration: BoxDecoration( border: Border.all( color: HexColor('#B8382C'), width: 4), borderRadius: BorderRadius.all(Radius.circular(100))), child: IconButton( icon: Icon( Icons.add, size: 35, ), onPressed: () { openSickLeave( context, false, ); }), ), Padding( child: AppText( TranslationBase.of(context).noSickLeaveApplied, fontWeight: FontWeight.bold, ), padding: EdgeInsets.all(10), ), AppText( TranslationBase.of(context).applyNow, fontWeight: FontWeight.bold, color: HexColor('#B8382C'), ) ], ), )); }), )); } openSickLeave(BuildContext context, isExtend, {GetAllSickLeaveResponse extendedData}) { showModalBottomSheet( context: context, builder: (context) { return new Container( child: SickLeaveScreen( appointmentNo: extendedData.appointmentNo, patientMRN: extendedData.patientMRN, isExtended: isExtend, extendedData: extendedData, )); }); } }