import 'package:hmg_patient_app/core/viewModels/medical/labs_view_model.dart';
import 'package:hmg_patient_app/pages/base/base_view.dart';
import 'package:hmg_patient_app/uitl/translations_delegate_base.dart';
import 'package:hmg_patient_app/widgets/data_display/medical/LabResult/lab_result_graph.dart';
import 'package:hmg_patient_app/widgets/others/app_scaffold_widget.dart';
import 'package:flutter/material.dart';

class FullScreenGraph extends StatelessWidget {
  final List<DataPoint> completeeGraphValues;

  final List<ThresholdRange> threshold;

  final double maxY;

  final String appBarTitle;

  const FullScreenGraph({super.key, required this.completeeGraphValues, required this.threshold, required this.maxY, required this.appBarTitle});

  @override
  Widget build(BuildContext context) {
    return AppScaffold(
      isShowAppBar: true,
      // appBarTitle: TranslationBase.of(context).labResult,
      appBarTitle: appBarTitle,
      showNewAppBar: true,
      showNewAppBarTitle: true,
      showHomeAppBarIcon: false,
      backgroundColor: Color(0xffF8F8F8),
      body: RotatedBox(
        quarterTurns: 1,
        child: SizedBox(
          // width: MediaQuery.sizeOf(context).height,
          height: MediaQuery.sizeOf(context).width,
          child: Material(
            color: Colors.white,
            child: Padding(
              padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 18),
              child: SingleChildScrollView(
                scrollDirection: Axis.horizontal,
                child: DynamicResultChart(
                  dataPoints: completeeGraphValues,
                  thresholds: threshold,
                  maxY: maxY,
                  width: ((completeeGraphValues.length <= 2)
                      ? MediaQuery.sizeOf(context).height
                      : (MediaQuery.sizeOf(context).height * (completeeGraphValues.length <= 15 ? 1 : (completeeGraphValues.length / 15)))) -
                      100,
                  maxX: completeeGraphValues.length + 1,
                  // width: MediaQuery.sizeOf(context).height - 100,
                  scrollDirection: Axis.horizontal,
                  height: MediaQuery.sizeOf(context).width,
                  showBottomTitleDates: true,
                  isFullScreeGraph: true,
                  // isFullScreenGraph: false,
                ),
              ),
            ),
          ),
        ),
      ),
    );
  }
// double getMax(List<DataPoint> dataPoints) {
//   double max = double.negativeInfinity;
//   for (var point in dataPoints) {
//     if (point.value > max) {
//       max = point.y;
//     }
//   }
//   return max;
// }
}
