import 'package:doctor_app_flutter/config/size_config.dart';
import 'package:doctor_app_flutter/core/model/labs/patient_lab_orders.dart';
import 'package:doctor_app_flutter/core/viewModel/labs_view_model.dart';
import 'package:doctor_app_flutter/models/patient/patiant_info_model.dart';
import 'package:doctor_app_flutter/screens/base/base_view.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:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:hexcolor/hexcolor.dart';

import 'lab_result_chart_and_detials.dart';

class FlowChartPage extends StatelessWidget {
  final PatientLabOrders patientLabOrder;
  final String filterName;
  final PatiantInformtion patient;
  final bool isInpatient;

  FlowChartPage({this.patientLabOrder, this.filterName, this.patient, this.isInpatient});

  @override
  Widget build(BuildContext context) {
    return BaseView<LabsViewModel>(
      onModelReady: (model) => model.getPatientLabOrdersResults(
          patientLabOrder: patientLabOrder,
          procedure: filterName,
          patient: patient),
      builder: (context, model, w) => AppScaffold(
        isShowAppBar: true,
        appBarTitle: filterName,
        baseViewModel: model,
        body: model.labOrdersResultsList.isNotEmpty
            ? SingleChildScrollView(
                child: Container(
                  child: LabResultChartAndDetails(
                    name: filterName,
                    labResult: model.labOrdersResultsList,
                  ),
                ),
              )
            : Container(
              child: Center(
                child: Column(
                  crossAxisAlignment: CrossAxisAlignment.center,
                  mainAxisSize: MainAxisSize.min,
                  children: [
                    Image.asset('assets/images/no-data.png'),
                    Padding(
                      padding: const EdgeInsets.all(8.0),
                      child: AppText(
                        TranslationBase.of(context).noDataAvailable,
                        fontWeight: FontWeight.normal,
                        color: HexColor("#B8382B"),
                        fontSize: SizeConfig.textMultiplier * 2.5,
                      ),
                    )
                  ],
                ),
              ),
            ),
      ),
    );
  }
}
