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/patient/patiant_info_model.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/dr_app_toast_msg.dart';
import 'package:doctor_app_flutter/util/translations_delegate_base.dart';
import 'package:doctor_app_flutter/widgets/patients/profile/patient-page-header-widget.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 ShowSickLeaveScreen extends StatelessWidget {
  PatiantInformtion patient;

  @override
  Widget build(BuildContext context) {
    final routeArgs = ModalRoute.of(context).settings.arguments as Map;
    patient = routeArgs['patient'];
    return BaseView<SickLeaveViewModel>(
      onModelReady: (model) => model.getSickLeave(patient.patientMRN ?? patient.patientId),
      builder: (_, model, w) => AppScaffold(
        baseViewModel: model,
        appBarTitle: TranslationBase.of(context).sickleave,
        body: SingleChildScrollView(
          child: Column(
            children: [
              PatientPageHeaderWidget(patient),
              Column(
                children: model.getAllSIckLeave
                    .map<Widget>((GetAllSickLeaveResponse item) {
                  return CardWithBgWidgetNew(
                      widget: Column(
                    children: [
                      Container(
                          padding: EdgeInsets.only(left: 10, right: 10),
                          child: Row(
                            mainAxisAlignment: MainAxisAlignment.start,
                            children: <Widget>[
                              Expanded(
                                flex: 4,
                                child: Wrap(
                                  // mainAxisAlignment:
                                  //     MainAxisAlignment.start,
                                  children: <Widget>[
                                    Column(
                                      crossAxisAlignment:
                                          CrossAxisAlignment.start,
                                      children: <Widget>[
                                        Container(
                                          padding: EdgeInsets.all(3),
                                          child: AppText(
                                            item.status == 1
                                                ? TranslationBase.of(context)
                                                    .hold
                                                : item.status == 2
                                                    ? TranslationBase.of(
                                                            context)
                                                        .active
                                                    : TranslationBase.of(
                                                            context)
                                                        .all,
                                            fontWeight: FontWeight.bold,
                                            color: Colors.white,
                                          ),
                                          color: item.status == 1
                                              ? Colors.yellow[800]
                                              : item.status == 2
                                                  ? Colors.green
                                                  : Colors.black,
                                        ),
                                        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,
                                    ),
                                  ],
                                ),
                              ),

                            ],
                          )),
                      SizedBox(
                        height: 20,
                      ),
                      Divider(
                        height: 1,
                      ),
                    ],
                  ));
                }).toList(),
              )
            ],
          ),
        ),
      ),
    );
  }


}
