You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			192 lines
		
	
	
		
			7.5 KiB
		
	
	
	
		
			Dart
		
	
			
		
		
	
	
			192 lines
		
	
	
		
			7.5 KiB
		
	
	
	
		
			Dart
		
	
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: <Widget>[
 | 
						|
              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: <Widget>[
 | 
						|
                  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: <Widget>[
 | 
						|
                                  if (orderNo != null && !isPrescriptions)
 | 
						|
                                    Row(
 | 
						|
                                      children: <Widget>[
 | 
						|
                                        AppText(
 | 
						|
                                          TranslationBase.of(context).orderNo +
 | 
						|
                                              " ",
 | 
						|
                                          color: Colors.grey[500],
 | 
						|
                                          fontSize: 14,
 | 
						|
                                        ),
 | 
						|
                                        AppText(
 | 
						|
                                          orderNo ?? '',
 | 
						|
                                          fontSize: 14,
 | 
						|
                                        )
 | 
						|
                                      ],
 | 
						|
                                    ),
 | 
						|
                                  if (invoiceNO != null && !isPrescriptions)
 | 
						|
                                    Row(
 | 
						|
                                      children: <Widget>[
 | 
						|
                                        AppText(
 | 
						|
                                          TranslationBase.of(context)
 | 
						|
                                                  .invoiceNo +
 | 
						|
                                              " ",
 | 
						|
                                          fontSize: 14,
 | 
						|
                                          color: Colors.grey[500],
 | 
						|
                                        ),
 | 
						|
                                        AppText(
 | 
						|
                                          invoiceNO,
 | 
						|
                                          fontSize: 14,
 | 
						|
                                        )
 | 
						|
                                      ],
 | 
						|
                                    ),
 | 
						|
                                  if (clinic != null)
 | 
						|
                                    Row(
 | 
						|
                                      crossAxisAlignment: CrossAxisAlignment.start,
 | 
						|
                                      children: <Widget>[
 | 
						|
                                        AppText(
 | 
						|
                                          TranslationBase.of(context).clinic +
 | 
						|
                                              ": ",
 | 
						|
                                          color: Colors.grey[500],
 | 
						|
                                          fontSize: 14,
 | 
						|
                                        ),
 | 
						|
                                        Expanded(
 | 
						|
                                          child: AppText(
 | 
						|
                                            clinic,
 | 
						|
                                            fontSize: 14,
 | 
						|
                                          ),
 | 
						|
                                        )
 | 
						|
                                      ],
 | 
						|
                                    ),
 | 
						|
                                  if (branch != null)
 | 
						|
                                    Row(
 | 
						|
                                      children: <Widget>[
 | 
						|
                                        AppText(
 | 
						|
                                          TranslationBase.of(context).branch +
 | 
						|
                                              ": ",
 | 
						|
                                          fontSize: 14,
 | 
						|
                                          color: Colors.grey[500],
 | 
						|
                                        ),
 | 
						|
                                        AppText(
 | 
						|
                                          branch,
 | 
						|
                                          fontSize: 14,
 | 
						|
                                        )
 | 
						|
                                      ],
 | 
						|
                                    )
 | 
						|
                                ]),
 | 
						|
                          ),
 | 
						|
                        ),
 | 
						|
                        if (isShowEye)
 | 
						|
                          Icon(
 | 
						|
                            EvaIcons.eye,
 | 
						|
                          )
 | 
						|
                      ],
 | 
						|
                    ),
 | 
						|
                  ),
 | 
						|
                ],
 | 
						|
              ),
 | 
						|
            ],
 | 
						|
          ),
 | 
						|
        ),
 | 
						|
      ),
 | 
						|
    );
 | 
						|
  }
 | 
						|
}
 |