import 'dart:async';

import 'package:easy_localization/easy_localization.dart';
import 'package:flutter/material.dart';
import 'package:flutter_staggered_animations/flutter_staggered_animations.dart';
import 'package:hmg_patient_app_new/core/app_state.dart';
import 'package:hmg_patient_app_new/core/dependencies.dart';
import 'package:hmg_patient_app_new/core/utils/date_util.dart';
import 'package:hmg_patient_app_new/core/utils/size_utils.dart';
import 'package:hmg_patient_app_new/core/utils/utils.dart';
import 'package:hmg_patient_app_new/extensions/string_extensions.dart';
import 'package:hmg_patient_app_new/extensions/widget_extensions.dart';
import 'package:hmg_patient_app_new/features/lab/lab_view_model.dart';
import 'package:hmg_patient_app_new/generated/locale_keys.g.dart';
import 'package:hmg_patient_app_new/presentation/lab/lab_result_item_view.dart';
import 'package:hmg_patient_app_new/presentation/radiology/radiology_result_page.dart';
import 'package:hmg_patient_app_new/presentation/radiology/search_radiology.dart';
import 'package:hmg_patient_app_new/theme/colors.dart';
import 'package:hmg_patient_app_new/widgets/appbar/collapsing_list_view.dart';
import 'package:hmg_patient_app_new/widgets/buttons/custom_button.dart';
import 'package:hmg_patient_app_new/widgets/chip/app_custom_chip_widget.dart';
import 'package:hmg_patient_app_new/widgets/routes/custom_page_route.dart';
import 'package:provider/provider.dart';
import 'package:url_launcher/url_launcher.dart';

import '../../features/radiology/radiology_view_model.dart';
import 'package:hmg_patient_app_new/core/app_assets.dart';

import 'dart:ui' as ui;

class RadiologyOrdersPage extends StatefulWidget {
  const RadiologyOrdersPage({super.key});

  @override
  State<RadiologyOrdersPage> createState() => _RadiologyOrdersPageState();
}

class _RadiologyOrdersPageState extends State<RadiologyOrdersPage> {
  late RadiologyViewModel radiologyViewModel;
  String selectedFilterText = '';
  int? expandedIndex;

  // Scroll controller to ensure expanded group is visible
  late ScrollController _scrollController;
  final Map<int, GlobalKey> _groupKeys = {};

  @override
  void initState() {
    _scrollController = ScrollController();
    scheduleMicrotask(() {
      radiologyViewModel.initRadiologyViewModel();
    });
    super.initState();
  }

  @override
  void dispose() {
    _scrollController.dispose();
    super.dispose();
  }

  @override
  Widget build(BuildContext context) {
    radiologyViewModel = Provider.of<RadiologyViewModel>(context);
    return Scaffold(
      backgroundColor: AppColors.bgScaffoldColor,
      body: CollapsingListView(
        title: LocaleKeys.radiology.tr(context: context),
        search: () async {
          final lavVM = Provider.of<LabViewModel>(context, listen: false);
          if (lavVM.isLabOrdersLoading) {
            return;
          } else {
            String? value = await Navigator.of(context).push(
              CustomPageRoute(
                page: SearchRadiologyContent(radiologySuggestionsList: radiologyViewModel.radiologySuggestions),
                fullScreenDialog: true,
                direction: AxisDirection.down,
              ),
            );
            if (value != null) {
              selectedFilterText = value;
              radiologyViewModel.filterRadiologyReports(value);
            }
          }
        },
        child: SingleChildScrollView(
          controller: _scrollController,
          physics: NeverScrollableScrollPhysics(),
          child: Consumer<RadiologyViewModel>(
            builder: (context, model, child) {
              // Build grouping lists if we have data and none constructed yet

              return Padding(
                padding: EdgeInsets.symmetric(horizontal: 24.h),
                child: Column(
                  crossAxisAlignment: CrossAxisAlignment.start,
                  children: [
                    // Clinic / Hospital toggle
                    SizedBox(height: 16.h),
                    // Row(
                    //   children: [
                    //     CustomButton(
                    //       text: LocaleKeys.byClinic.tr(context: context),
                    //       onPressed: () {
                    //         model.setIsSortByClinic(true);
                    //       },
                    //       backgroundColor: model.isSortByClinic ? AppColors.bgRedLightColor : AppColors.whiteColor,
                    //       borderColor: model.isSortByClinic ? AppColors.primaryRedColor : AppColors.textColor.withValues(alpha: 0.2),
                    //       textColor: model.isSortByClinic ? AppColors.primaryRedColor : AppColors.blackColor,
                    //       fontSize: 12,
                    //       isBold: true,
                    //       borderRadius: 10,
                    //       padding: EdgeInsets.fromLTRB(10, 0, 10, 0),
                    //       height: 40.h,
                    //     ),
                    //     SizedBox(width: 8.h),
                    //     CustomButton(
                    //       text: LocaleKeys.byHospital.tr(context: context),
                    //       onPressed: () {
                    //         model.setIsSortByClinic(false);
                    //       },
                    //       backgroundColor: model.isSortByClinic ? AppColors.whiteColor : AppColors.bgRedLightColor,
                    //       borderColor: model.isSortByClinic ? AppColors.textColor.withValues(alpha: 0.2) : AppColors.primaryRedColor,
                    //       textColor: model.isSortByClinic ? AppColors.blackColor : AppColors.primaryRedColor,
                    //       fontSize: 12,
                    //       isBold: true,
                    //       borderRadius: 10,
                    //       padding: EdgeInsets.fromLTRB(10, 0, 10, 0),
                    //       height: 40.h,
                    //     ),
                    //   ],
                    // ),
                    // SizedBox(height: 8.h),
                    selectedFilterText.isNotEmpty
                        ? AppCustomChipWidget(
                            padding: EdgeInsets.symmetric(horizontal: 5.h),
                            labelText: selectedFilterText,
                            deleteIcon: AppAssets.close_bottom_sheet_icon,
                            backgroundColor: AppColors.alertColor,
                            textColor: AppColors.whiteColor,
                            deleteIconColor: AppColors.whiteColor,
                            deleteIconHasColor: true,
                            onDeleteTap: () {
                              setState(() {
                                selectedFilterText = '';
                                model.filterRadiologyReports('');
                              });
                            },
                            isEnglishOnly: true
                            // chipType: ChipTypeEnum.alert,
                            // isSelected: true,
                          )
                        : SizedBox(),

                    // Grouped view when available
                    Builder(builder: (ctx) {
                      if (model.isRadiologyOrdersLoading) {
                        return ListView.builder(
                          shrinkWrap: true,
                          physics: NeverScrollableScrollPhysics(),
                          padding: EdgeInsets.zero,
                          itemCount: 5,
                          itemBuilder: (context, index) => LabResultItemView(
                            onTap: () {},
                            labOrder: null,
                            index: index,
                            isLoading: true,
                          ),
                        );
                      }

                        if (model.patientRadiologyOrders.isEmpty) {
                          return Utils.getNoDataWidget(ctx, noDataText: LocaleKeys.youDontHaveRadiologyOrders.tr(context: context));
                        }

                      // return ListView.builder(
                      //   shrinkWrap: true,
                      //   physics: NeverScrollableScrollPhysics(),
                      //   padding: EdgeInsets.zero,
                      //   itemCount: model.patientRadiologyOrdersViewList.length,
                      //   itemBuilder: (context, index) {
                      //     final group = model.patientRadiologyOrdersViewList[index];
                      //     final displayName = model.isSortByClinic ? (group.first.clinicDescription ?? 'Unknown') : (group.first.projectName ?? 'Unknown');
                      //     final isExpanded = expandedIndex == index;
                      //     return AnimationConfiguration.staggeredList(
                      //       position: index,
                      //       duration: const Duration(milliseconds: 400),
                      //       child: SlideAnimation(
                      //         verticalOffset: 50.0,
                      //         child: FadeInAnimation(
                      //           child: AnimatedContainer(
                      //             duration: const Duration(milliseconds: 300),
                      //             curve: Curves.easeInOut,
                      //             margin: EdgeInsets.symmetric(vertical: 8.h),
                      //             decoration: RoundedRectangleBorder().toSmoothCornerDecoration(
                      //               color: AppColors.whiteColor,
                      //               borderRadius: 20.h,
                      //               hasShadow: true,
                      //             ),
                      //             child: InkWell(
                      //               onTap: () {
                      //                 setState(() {
                      //                   expandedIndex = isExpanded ? null : index;
                      //                 });
                      //                 WidgetsBinding.instance.addPostFrameCallback((_) {
                      //                   final key = _groupKeys.putIfAbsent(index, () => GlobalKey());
                      //                   if (key.currentContext != null && expandedIndex == index) {
                      //                     Future.delayed(const Duration(milliseconds: 450), () {
                      //                       if (key.currentContext != null) {
                      //                         Scrollable.ensureVisible(
                      //                           key.currentContext!,
                      //                           duration: const Duration(milliseconds: 350),
                      //                           curve: Curves.easeInOut,
                      //                           alignment: 0.0,
                      //                         );
                      //                       }
                      //                     });
                      //                   }
                      //                 });
                      //               },
                      //               child: Column(
                      //                 crossAxisAlignment: CrossAxisAlignment.start,
                      //                 children: [
                      //                   Padding(
                      //                     key: _groupKeys.putIfAbsent(index, () => GlobalKey()),
                      //                     padding: EdgeInsets.all(16.h),
                      //                     child: Column(
                      //                       crossAxisAlignment: CrossAxisAlignment.start,
                      //                       children: [
                      //                         Row(
                      //                           mainAxisAlignment: MainAxisAlignment.spaceBetween,
                      //                           children: [
                      //                             AppCustomChipWidget(labelText: "${group.length} ${LocaleKeys.results.tr(context: context)}"),
                      //                             Icon(isExpanded ? Icons.expand_less : Icons.expand_more),
                      //                           ],
                      //                         ),
                      //                         SizedBox(height: 8.h),
                      //                         Text(
                      //                           displayName,
                      //                           style: TextStyle(fontSize: 16.h, isBold: true),
                      //                           overflow: TextOverflow.ellipsis,
                      //                         ),
                      //                       ],
                      //                     ),
                      //                   ),
                      //                   AnimatedSwitcher(
                      //                     duration: const Duration(milliseconds: 500),
                      //                     switchInCurve: Curves.easeIn,
                      //                     switchOutCurve: Curves.easeOut,
                      //                     transitionBuilder: (Widget child, Animation<double> animation) {
                      //                       return FadeTransition(
                      //                         opacity: animation,
                      //                         child: SizeTransition(
                      //                           sizeFactor: animation,
                      //                           axisAlignment: 0.0,
                      //                           child: child,
                      //                         ),
                      //                       );
                      //                     },
                      //                     child: isExpanded
                      //                         ? Container(
                      //                             key: ValueKey<int>(index),
                      //                             padding: EdgeInsets.symmetric(horizontal: 16.w),
                      //                             child: Column(
                      //                               crossAxisAlignment: CrossAxisAlignment.start,
                      //                               children: [
                      //                                 ...group.map<Widget>((order) {
                      //                                   return Column(
                      //                                     crossAxisAlignment: CrossAxisAlignment.start,
                      //                                     children: [
                      //                                       Row(
                      //                                         mainAxisSize: MainAxisSize.min,
                      //                                         children: [
                      //                                           Image.network(
                      //                                             order.doctorImageURL ?? "https://hmgwebservices.com/Images/MobileImages/DUBAI/unkown_female.png",
                      //                                             width: 24.w,
                      //                                             height: 24.h,
                      //                                             fit: BoxFit.cover,
                      //                                           ).circle(100),
                      //                                           SizedBox(width: 8.h),
                      //                                           Expanded(
                      //                                             child: (order.doctorName ?? '').toString().toText14(isBold: true),
                      //                                           ),
                      //                                         ],
                      //                                       ),
                      //                                       SizedBox(height: 8.h),
                      //                                       Wrap(
                      //                                         direction: Axis.horizontal,
                      //                                         spacing: 4.h,
                      //                                         runSpacing: 4.h,
                      //                                         children: [
                      //                                           if ((order.description ?? '').isNotEmpty)
                      //                                             AppCustomChipWidget(
                      //                                               labelText: (order.description ?? '').toString(),
                      //                                             ),
                      //                                   Directionality(
                      //                                     textDirection: ui.TextDirection.ltr,
                      //                                             child: AppCustomChipWidget(
                      //                                               labelText: DateUtil.formatDateToDate(
                      //                                               (order.orderDate ?? order.appointmentDate),
                      //                                                 false,
                      //                                               ), isEnglishOnly: true,
                      //                                             ),
                      //                                           ),
                      //                                           AppCustomChipWidget(
                      //                                           labelText: model.isSortByClinic ? (order.projectName ?? '') : (order.clinicDescription ?? ''),
                      //                                         ),
                      //                                         ],
                      //                                       ),
                      //                                       SizedBox(height: 12.h),
                      //                                       Row(
                      //                                         children: [
                      //                                           Expanded(flex: 2, child: const SizedBox()),
                      //                                           Expanded(
                      //                                             flex: 2,
                      //                                             child: CustomButton(
                      //                                               icon: AppAssets.view_report_icon,
                      //                                               iconColor: AppColors.primaryRedColor,
                      //                                               iconSize: 16.h,
                      //                                               text: LocaleKeys.viewResults.tr(context: context),
                      //                                               onPressed: () {
                      //                                                 model.navigationService.push(
                      //                                                   CustomPageRoute(
                      //                                                     page: RadiologyResultPage(patientRadiologyResponseModel: order),
                      //                                                   ),
                      //                                                 );
                      //                                               },
                      //                                               backgroundColor: AppColors.secondaryLightRedColor,
                      //                                               borderColor: AppColors.secondaryLightRedColor,
                      //                                               textColor: AppColors.primaryRedColor,
                      //                                               fontSize: 14,
                      //                                               isBold: true,
                      //                                               borderRadius: 12,
                      //                                               padding: const EdgeInsets.fromLTRB(10, 0, 10, 0),
                      //                                               height: 40.h,
                      //                                             ),
                      //                                           ),
                      //                                         ],
                      //                                       ),
                      //                                       SizedBox(height: 12.h),
                      //                                       Divider(color: AppColors.borderOnlyColor.withValues(alpha: 0.05), height: 1.h),
                      //                                       SizedBox(height: 12.h),
                      //                                     ],
                      //                                   );
                      //                                 }).toList(),
                      //                               ],
                      //                             ),
                      //                           )
                      //                         : const SizedBox.shrink(),
                      //                   ),
                      //                 ],
                      //               ),
                      //             ),
                      //           ),
                      //         ),
                      //       ),
                      //     );
                      //   },
                      // );

                      return ListView.builder(
                        shrinkWrap: true,
                        physics: NeverScrollableScrollPhysics(),
                        padding: EdgeInsets.zero,
                        itemCount: model.patientRadiologyOrders.length,
                        itemBuilder: (context, index) {
                          final group = model.patientRadiologyOrders[index];
                          final isExpanded = expandedIndex == index;
                          return AnimationConfiguration.staggeredList(
                              position: index,
                              duration: const Duration(milliseconds: 500),
                              child: SlideAnimation(
                                verticalOffset: 100.0,
                                child: FadeInAnimation(
                                  child: AnimatedContainer(
                                    duration: Duration(milliseconds: 300),
                                    curve: Curves.easeInOut,
                                    margin: EdgeInsets.symmetric(vertical: 8.h),
                                    decoration: RoundedRectangleBorder().toSmoothCornerDecoration(color: AppColors.whiteColor, borderRadius: 20.h, hasShadow: true),
                                    child: InkWell(
                                      onTap: () {
                                        setState(() {
                                          expandedIndex = isExpanded ? null : index;
                                        });
                                      },
                                      child: Column(
                                        crossAxisAlignment: CrossAxisAlignment.start,
                                        children: [
                                          Padding(
                                            padding: EdgeInsets.all(16.h),
                                            child: Column(
                                              crossAxisAlignment: CrossAxisAlignment.start,
                                              children: [
                                                AppCustomChipWidget(
                                                  labelText: "${getIt.get<AppState>().isArabic() ? group.isInOutPatientDescriptionN : group.isInOutPatientDescription}",
                                                  backgroundColor: AppColors.warningColorYellow.withOpacity(0.1),
                                                  textColor: AppColors.warningColorYellow,
                                                ),
                                                SizedBox(height: 16.h),
                                                Row(
                                                  mainAxisSize: MainAxisSize.min,
                                                  children: [
                                                    Utils.buildImgWithNetwork(
                                                      url: group.doctorImageURL ?? "https://hmgwebservices.com/Images/MobileImages/DUBAI/unkown_female.png",
                                                      iconColor: AppColors.transparent,
                                                      width: 24.w,
                                                      height: 24.h,
                                                      fit: BoxFit.cover,
                                                    ).circle(100),
                                                    SizedBox(width: 8.h),
                                                    Expanded(child: (group.doctorName ?? "").toString().toText14(isBold: true)),
                                                  ],
                                                ),
                                                SizedBox(height: 8.h),
                                                Wrap(
                                                  direction: Axis.horizontal,
                                                  spacing: 4.h,
                                                  runSpacing: 4.h,
                                                  children: [
                                                    Directionality(
                                                        textDirection: ui.TextDirection.ltr,
                                                        child: AppCustomChipWidget(
                                                          labelText: DateUtil.formatDateToDate(group.orderDate!, false),
                                                          isEnglishOnly: true,
                                                        )),
                                                    AppCustomChipWidget(
                                                      labelText: (group.projectName ?? ""),
                                                    ),
                                                    AppCustomChipWidget(
                                                      labelText: (group.clinicDescription ?? ""),
                                                    ),
                                                  ],
                                                ),
                                                SizedBox(height: 16.h),
                                                Column(
                                                  crossAxisAlignment: CrossAxisAlignment.start,
                                                  children: [
                                                    "• ${group.procedureName.toString().trim() ?? ""}".toText14(isBold: true, isEnglishOnly: true),
                                                    // "Lorem ipsum text".toText12(isBold: true, color: AppColors.textColorLight),
                                                    SizedBox(height: 16.h),
                                                    CustomButton(
                                                      text: LocaleKeys.viewReport.tr(),
                                                      onPressed: () async {
                                                        // Check if reportData is empty or null
                                                        if (group.reportData == null || group.reportData!.trim().isEmpty) {
                                                          // Open image directly
                                                          await model.getRadiologyImage(patientRadiologyResponseModel: group);
                                                          if (model.radiologyImageURL.isNotEmpty) {
                                                            Uri uri = Uri.parse(model.radiologyImageURL);
                                                            await launchUrl(uri, mode: LaunchMode.platformDefault, webOnlyWindowName: "");
                                                          } else {
                                                            Utils.showToast(LocaleKeys.noDataAvailable.tr());
                                                          }
                                                        } else {
                                                          // Navigate to details page
                                                          model.navigationService.push(
                                                            CustomPageRoute(
                                                              page: RadiologyResultPage(patientRadiologyResponseModel: group),
                                                            ),
                                                          );
                                                        }
                                                      },
                                                      backgroundColor: AppColors.infoColor.withAlpha(20),
                                                      borderColor: AppColors.infoColor.withAlpha(0),
                                                      textColor: AppColors.infoColor,
                                                      fontSize: (isFoldable || isTablet) ? 12.f : 14.f,
                                                      fontWeight: FontWeight.w600,
                                                      borderRadius: 12.r,
                                                      padding: EdgeInsets.fromLTRB(10.w, 0, 10.w, 0),
                                                      height: 40.h,
                                                      iconSize: 14.h,
                                                      icon: AppAssets.view_report_icon,
                                                      iconColor: AppColors.infoColor,
                                                    ),
                                                  ],
                                                )
                                              ],
                                            ),
                                          ),
                                          // AnimatedSwitcher(
                                          //   duration: Duration(milliseconds: 500),
                                          //   switchInCurve: Curves.easeIn,
                                          //   switchOutCurve: Curves.easeOut,
                                          //   transitionBuilder: (Widget child, Animation<double> animation) {
                                          //     return FadeTransition(
                                          //       opacity: animation,
                                          //       child: SizeTransition(
                                          //         sizeFactor: animation,
                                          //         axisAlignment: 0.0,
                                          //         child: child,
                                          //       ),
                                          //     );
                                          //   },
                                          //   child: isExpanded
                                          //       ? Container(
                                          //           key: ValueKey<int>(index),
                                          //           padding: EdgeInsets.symmetric(horizontal: 16.w, vertical: 0.h),
                                          //           child: Column(
                                          //             children: [
                                          //               ListView.separated(
                                          //                   shrinkWrap: true,
                                          //                   physics: NeverScrollableScrollPhysics(),
                                          //                   padding: EdgeInsets.zero,
                                          //                   itemBuilder: (cxt, index) {
                                          //                     PatientRadiologyResponseModel order = group;
                                          //                     return Column(
                                          //                       crossAxisAlignment: CrossAxisAlignment.start,
                                          //                       children: [
                                          //                         "• ${order.procedureName ?? ""}".toText14(isBold: true),
                                          //                         "Lorem ipsum text".toText12(isBold: true, color: AppColors.textColorLight),
                                          //                         // SizedBox(height: 4.h),
                                          //                         // order.testDetails![index].testDescriptionEn!.toText12(isBold: true, color: AppColors.textColorLight),
                                          //                         // Row(
                                          //                         //   mainAxisSize: MainAxisSize.min,
                                          //                         //   children: [
                                          //                         //     Image.network(
                                          //                         //       order.doctorImageURL ?? "https://hmgwebservices.com/Images/MobileImages/DUBAI/unkown_female.png",
                                          //                         //       width: 24.w,
                                          //                         //       height: 24.h,
                                          //                         //       fit: BoxFit.cover,
                                          //                         //     ).circle(100),
                                          //                         //     SizedBox(width: 8.h),
                                          //                         //     Expanded(child: (order.doctorName ?? order.doctorNameEnglish ?? "").toString().toText14(isBold: true)),
                                          //                         //   ],
                                          //                         // ),
                                          //                         // SizedBox(height: 8.h),
                                          //                         // Wrap(
                                          //                         //   direction: Axis.horizontal,
                                          //                         //   spacing: 4.h,
                                          //                         //   runSpacing: 4.h,
                                          //                         //   children: [
                                          //                         //     AppCustomChipWidget(
                                          //                         //       labelText: ("${LocaleKeys.orderNo.tr(context: context)}: ${order.orderNo!}"), isEnglishOnly: true,
                                          //                         //     ),
                                          //                         //     Directionality(
                                          //                         //         textDirection: ui.TextDirection.ltr,
                                          //                         //         child: AppCustomChipWidget(
                                          //                         //       labelText: DateUtil.formatDateToDate(DateUtil.convertStringToDate(order.orderDate ?? ""), false),
                                          //                         //       isEnglishOnly: true,
                                          //                         //     )),
                                          //                         //     AppCustomChipWidget(
                                          //                         //       labelText: labViewModel.isSortByClinic ? (order.projectName ?? "") : (order.clinicDescription ?? ""),
                                          //                         //     ),
                                          //                         //   ],
                                          //                         // ),
                                          //                         // // Row(
                                          //                         // //   children: [
                                          //                         // //     CustomButton(
                                          //                         // //       text: ("Order No: ".needTranslation + order.orderNo!),
                                          //                         // //       onPressed: () {},
                                          //                         // //       backgroundColor: AppColors.greyColor,
                                          //                         // //       borderColor: AppColors.greyColor,
                                          //                         // //       textColor: AppColors.blackColor,
                                          //                         // //       fontSize: 10,
                                          //                         // //       isBold: true,
                                          //                         // //       borderRadius: 8,
                                          //                         // //       padding: EdgeInsets.fromLTRB(10, 0, 10, 0),
                                          //                         // //       height: 24.h,
                                          //                         // //     ),
                                          //                         // //     SizedBox(width: 8.h),
                                          //                         // //     CustomButton(
                                          //                         // //       text: DateUtil.formatDateToDate(DateUtil.convertStringToDate(order.orderDate ?? ""), false),
                                          //                         // //       onPressed: () {},
                                          //                         // //       backgroundColor: AppColors.greyColor,
                                          //                         // //       borderColor: AppColors.greyColor,
                                          //                         // //       textColor: AppColors.blackColor,
                                          //                         // //       fontSize: 10,
                                          //                         // //       isBold: true,
                                          //                         // //       borderRadius: 8,
                                          //                         // //       padding: EdgeInsets.fromLTRB(10, 0, 10, 0),
                                          //                         // //       height: 24.h,
                                          //                         // //     ),
                                          //                         // //   ],
                                          //                         // // ),
                                          //                         // // SizedBox(height: 8.h),
                                          //                         // // Row(
                                          //                         // //   children: [
                                          //                         // //     CustomButton(
                                          //                         // //       text: model.isSortByClinic ? (order.clinicDescription ?? "") : (order.projectName ?? ""),
                                          //                         // //       onPressed: () {},
                                          //                         // //       backgroundColor: AppColors.greyColor,
                                          //                         // //       borderColor: AppColors.greyColor,
                                          //                         // //       textColor: AppColors.blackColor,
                                          //                         // //       fontSize: 10,
                                          //                         // //       isBold: true,
                                          //                         // //       borderRadius: 8,
                                          //                         // //       padding: EdgeInsets.fromLTRB(10, 0, 10, 0),
                                          //                         // //       height: 24.h,
                                          //                         // //     ),
                                          //                         // //   ],
                                          //                         // // ),
                                          //                         // SizedBox(height: 12.h),
                                          //                         // Row(
                                          //                         //   children: [
                                          //                         //     Expanded(flex: 2, child: SizedBox()),
                                          //                         //     // Expanded(
                                          //                         //     //   flex: 1,
                                          //                         //     //   child: Container(
                                          //                         //     //     height: 40.h,
                                          //                         //     //     width: 40.w,
                                          //                         //     //     decoration: RoundedRectangleBorder().toSmoothCornerDecoration(
                                          //                         //     //       color: AppColors.textColor,
                                          //                         //     //       borderRadius: 12,
                                          //                         //     //     ),
                                          //                         //     //     child: Padding(
                                          //                         //     //       padding: EdgeInsets.all(12.h),
                                          //                         //     //       child: Transform.flip(
                                          //                         //     //         flipX: _appState.isArabic(),
                                          //                         //     //         child: Utils.buildSvgWithAssets(
                                          //                         //     //           icon: AppAssets.forward_arrow_icon_small,
                                          //                         //     //           iconColor: AppColors.whiteColor,
                                          //                         //     //           fit: BoxFit.contain,
                                          //                         //     //         ),
                                          //                         //     //       ),
                                          //                         //     //     ),
                                          //                         //     //   ).onPress(() {
                                          //                         //     //     model.currentlySelectedPatientOrder = order;
                                          //                         //     //     labProvider.getPatientLabResultByHospital(order);
                                          //                         //     //     labProvider.getPatientSpecialResult(order);
                                          //                         //     //     Navigator.of(context).push(
                                          //                         //     //       CustomPageRoute(page: LabResultByClinic(labOrder: order)),
                                          //                         //     //     );
                                          //                         //     //   }),
                                          //                         //     // )
                                          //                         //
                                          //                         //     Expanded(
                                          //                         //       flex: 2,
                                          //                         //       child: CustomButton(
                                          //                         //         icon: AppAssets.view_report_icon,
                                          //                         //         iconColor: AppColors.primaryRedColor,
                                          //                         //         iconSize: 16.h,
                                          //                         //         text: LocaleKeys.viewResults.tr(context: context),
                                          //                         //         onPressed: () {
                                          //                         //           labViewModel.currentlySelectedPatientOrder = order;
                                          //                         //           labProvider.getPatientLabResultByHospital(order);
                                          //                         //           labProvider.getPatientSpecialResult(order);
                                          //                         //           Navigator.of(context).push(
                                          //                         //             CustomPageRoute(page: LabResultByClinic(labOrder: order)),
                                          //                         //           );
                                          //                         //         },
                                          //                         //         backgroundColor: AppColors.secondaryLightRedColor,
                                          //                         //         borderColor: AppColors.secondaryLightRedColor,
                                          //                         //         textColor: AppColors.primaryRedColor,
                                          //                         //         fontSize: 14,
                                          //                         //         isBold: true,
                                          //                         //         borderRadius: 12,
                                          //                         //         padding: EdgeInsets.fromLTRB(10, 0, 10, 0),
                                          //                         //         height: 40.h,
                                          //                         //       ),
                                          //                         //     )
                                          //                         //   ],
                                          //                         // ),
                                          //                         // SizedBox(height: 12.h),
                                          //                         // Divider(color: AppColors.borderOnlyColor.withValues(alpha: 0.05), height: 1.h),
                                          //                         // SizedBox(height: 12.h),
                                          //                       ],
                                          //                     ).paddingOnly(top: 16, bottom: 16);
                                          //                   },
                                          //                   separatorBuilder: (cxt, index) => Divider(color: AppColors.borderOnlyColor.withValues(alpha: 0.05), height: 1.h),
                                          //                   itemCount: 1),
                                          //               SizedBox(height: 16.h),
                                          //               CustomButton(
                                          //                 text: LocaleKeys.viewReport.tr(),
                                          //                 onPressed: () {
                                          //                   model.navigationService.push(
                                          //                     CustomPageRoute(
                                          //                       page: RadiologyResultPage(patientRadiologyResponseModel: group),
                                          //                     ),
                                          //                   );
                                          //                 },
                                          //                 backgroundColor: AppColors.infoColor.withAlpha(20),
                                          //                 borderColor: AppColors.infoColor.withAlpha(0),
                                          //                 textColor: AppColors.infoColor,
                                          //                 fontSize: (isFoldable || isTablet) ? 12.f : 14.f,
                                          //                 isBold: true,
                                          //                 borderRadius: 12.r,
                                          //                 padding: EdgeInsets.fromLTRB(10.w, 0, 10.w, 0),
                                          //                 height: 40.h,
                                          //                 iconSize: 14.h,
                                          //                 icon: AppAssets.view_report_icon,
                                          //                 iconColor: AppColors.infoColor,
                                          //               ),
                                          //               SizedBox(height: 16.h),
                                          //             ],
                                          //           ),
                                          //         )
                                          //       : SizedBox.shrink(),
                                          // ),
                                        ],
                                      ),
                                    ),
                                  ),
                                ),
                              ));
                        },
                      );
                    }),
                  ],
                ),
              );
            },
          ),
        ),
      ),
      );
  }

  Color getLabOrderStatusColor(num status) {
    switch (status) {
      case 44:
        return AppColors.warningColorYellow;
      case 45:
        return AppColors.warningColorYellow;
      case 16:
        return AppColors.successColor;
      case 17:
        return AppColors.successColor;
      default:
        return AppColors.greyColor;
    }
  }

  String getLabOrderStatusText(num status) {
    switch (status) {
      case 44:
        return LocaleKeys.resultsPending.tr(context: context);
      case 45:
        return LocaleKeys.resultsPending.tr(context: context);
      case 16:
        return LocaleKeys.resultsAvailable.tr(context: context);
      case 17:
        return LocaleKeys.resultsAvailable.tr(context: context);
      default:
        return "";
    }
  }
}
