import 'package:doctor_app_flutter/core/viewModel/project_view_model.dart'; import 'package:doctor_app_flutter/util/date-utils.dart'; import 'package:doctor_app_flutter/util/translations_delegate_base.dart'; import 'package:doctor_app_flutter/widgets/patients/profile/large_avatar.dart'; import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart'; import 'package:eva_icons_flutter/eva_icons_flutter.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; class DoctorCard extends StatelessWidget { final String doctorName; final String branch; final DateTime appointmentDate; final String profileUrl; final String invoiceNO; final String orderNo; final Function onTap; final bool isPrescriptions; final String clinic; final bool isShowEye; final bool isShowTime; final bool isNoMargin; DoctorCard( {this.doctorName, this.branch, this.profileUrl, this.invoiceNO, this.onTap, this.appointmentDate, this.orderNo, this.isPrescriptions = false, this.clinic, this.isShowEye = true, this.isShowTime= true, this.isNoMargin =false}); @override Widget build(BuildContext context) { ProjectViewModel projectViewModel = Provider.of(context); return Container( margin: EdgeInsets.all(!isNoMargin? 10:0), decoration: BoxDecoration( border: Border.all( width: 0.5, color: Colors.white, ), borderRadius: BorderRadius.all( Radius.circular(15.0), ), color: Colors.white), child: Padding( padding: const EdgeInsets.all(15.0), child: InkWell( onTap: (isShowEye) ? onTap : null, child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ Row( children: [ Expanded( child: AppText( doctorName ?? "", fontSize: 15, bold: true, )), Expanded( child: Column( crossAxisAlignment: CrossAxisAlignment.end, children: [ AppText( '${AppDateUtils.getDayMonthYearDateFormatted(appointmentDate, isArabic: projectViewModel.isArabic)}', color: Colors.black, fontWeight: FontWeight.w600, fontSize: 14, ), if (!isPrescriptions&& isShowTime) AppText( '${AppDateUtils.getHour(appointmentDate)}', fontWeight: FontWeight.w600, color: Colors.grey[700], fontSize: 14, ), ], ), ), ], ), Row( crossAxisAlignment: CrossAxisAlignment.center, children: [ Container( child: LargeAvatar( name: doctorName, url: profileUrl, ), width: 55, height: 55, ), Expanded( child: Row( crossAxisAlignment: CrossAxisAlignment.end, children: [ Expanded( child: Container( margin: EdgeInsets.all(10), child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ if (orderNo != null && !isPrescriptions) Row( children: [ AppText( TranslationBase.of(context).orderNo + " ", color: Colors.grey[500], fontSize: 14, ), AppText( orderNo ?? '', fontSize: 14, ) ], ), if (invoiceNO != null && !isPrescriptions) Row( children: [ AppText( TranslationBase.of(context) .invoiceNo + " ", fontSize: 14, color: Colors.grey[500], ), AppText( invoiceNO, fontSize: 14, ) ], ), if (clinic != null) Row( children: [ AppText( TranslationBase.of(context).clinic + ": ", color: Colors.grey[500], fontSize: 14, ), AppText( clinic, fontSize: 14, ) ], ), if (branch != null) Row( children: [ AppText( TranslationBase.of(context).branch + ": ", fontSize: 14, color: Colors.grey[500], ), AppText( branch, fontSize: 14, ) ], ) ]), ), ), if (isShowEye) Icon( EvaIcons.eye, ) ], ), ), ], ), ], ), ), ), ); } }