///todo deleted
// import 'package:flutter/material.dart';
// import 'package:test_sa/extensions/context_extension.dart';
// import 'package:test_sa/models/service_request/search_work_order.dart';
//
// import '../../../models/service_request/spare_parts.dart';
// import '../../app_style/sizing.dart';
// import '../../widgets/app_text_form_field.dart';
// import '../../widgets/buttons/app_button.dart';
// import '../../widgets/parts/part_item.dart';
// import '../../widgets/titles/app_sub_title.dart';
//
// class SparePartsBottomSheet extends StatefulWidget {
//   final SearchWorkOrder subWorkOrder;
//   final num assetId;
//
//   const SparePartsBottomSheet({this.subWorkOrder, this.assetId, Key? key}) : super(key: key);
//
//   @override
//   State<SparePartsBottomSheet> createState() => _SparePartsBottomSheetState();
// }
//
// class _SparePartsBottomSheetState extends State<SparePartsBottomSheet> {
//   final GlobalKey<FormState> _formKey = GlobalKey<FormState>();
//   final SearchWorkOrder _workOrder = SearchWorkOrder();
//   bool _validate = false;
//
//   @override
//   void initState() {
//     super.initState();
//     _workOrder.copyFrom(widget.subWorkOrder);
//   }
//
//   @override
//   void dispose() {
//     _workOrder.sparePartsWorkOrders = widget.subWorkOrder.sparePartsWorkOrders;
//     super.dispose();
//   }
//
//   @override
//   Widget build(BuildContext context) {
//     final size = MediaQuery.of(context).size;
//
//     return Padding(
//       padding: EdgeInsets.only(bottom: MediaQuery.of(context).viewInsets.bottom),
//       child: ClipRRect(
//         borderRadius: const BorderRadius.only(
//           topLeft: Radius.circular(15),
//           topRight: Radius.circular(15),
//         ),
//         clipBehavior: Clip.antiAliasWithSaveLayer,
//         child: Container(
//           color: Colors.white,
//           height: size.height * 0.9,
//           padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 20),
//           child: Form(
//             key: _formKey,
//             child: Column(
//               crossAxisAlignment: CrossAxisAlignment.start,
//               children: [
//                 const ASubTitle("Spare Parts"),
//                 const SizedBox(height: 8),
//                 Expanded(
//                   child: Padding(
//                     padding: const EdgeInsets.all(8.0),
//                     child: SingleChildScrollView(
//                       child: Column(
//                         crossAxisAlignment: CrossAxisAlignment.start,
//                         children: [
//                           Container(
//                             width: double.infinity,
//                             padding: const EdgeInsets.all(16),
//                             margin: const EdgeInsets.symmetric(vertical: 16),
//                             // decoration: BoxDecoration(color: AColors.grey, borderRadius: BorderRadius.circular(AppStyle.getBorderRadius(context)), boxShadow: const [
//                             //   BoxShadow(
//                             //     color: AColors.grey,
//                             //     offset: Offset(0, -1),
//                             //   )
//                             // ]),
//                             child: Column(
//                               mainAxisSize: MainAxisSize.min,
//                               children: [
//                                 Row(
//                                   children: [
//                                     Expanded(
//                                       flex: 3,
//                                       child: Column(
//                                         crossAxisAlignment: CrossAxisAlignment.start,
//                                         children: [
//                                           ASubTitle(context.translation.partNumber),
//                                           _validate && _workOrder.sparePartsWorkOrders == null
//                                               ? ASubTitle(
//                                                   context.translation.requiredWord,
//                                                   color: Colors.red,
//                                                 )
//                                               : const SizedBox.shrink(),
//                                           const SizedBox(height: 4),
//                                           // AutoCompletePartsField(
//                                           //   assetId: widget.assetId,
//                                           //   onPick: (part) {
//                                           //     _workOrder.sparePartsWorkOrders ??= [];
//                                           //     _workOrder.sparePartsWorkOrders.add(SparePartsWorkOrders(
//                                           //       id: part.reportPartID,
//                                           //       qty: part.quantity,
//                                           //       sparePart: SparePart(id: part.id, partName: part.partName, partNo: part.partNo),
//                                           //       installQty: part.installQty,
//                                           //       returnQty: part.returnQty,
//                                           //     ));
//                                           //   },
//                                           // ),
//                                         ],
//                                       ),
//                                     ),
//                                   ],
//                                 ),
//                                 SizedBox(
//                                   height: 8 * AppStyle.getScaleFactor(context),
//                                 ),
//                                 if (_workOrder.sparePartsWorkOrders?.isNotEmpty ?? false)
//                                   Row(
//                                     children: [
//                                       Expanded(flex: 3, child: Text(context.translation.number)),
//                                       Expanded(flex: 1, child: Text(context.translation.quantity)),
//                                     ],
//                                   ),
//                                 if (_workOrder.sparePartsWorkOrders?.isNotEmpty ?? false)
//                                   Column(
//                                     children: List.generate(
//                                       _workOrder.sparePartsWorkOrders?.length,
//                                       (index) {
//                                         final spare = _workOrder.sparePartsWorkOrders[index];
//                                         SparePartsWorkOrders part = SparePartsWorkOrders(
//                                           id: spare.sparePart?.id,
//                                           sparePart: SparePart(
//                                             id: spare.id,
//                                             partNo: spare.sparePart?.partNo,
//                                             partName: spare.sparePart?.partName,
//                                           ),
//                                           qty: spare.qty?.toInt(),
//                                           installQty: spare.installQty,
//                                           returnQty: spare.returnQty,
//                                         );
//                                         return Column(
//                                           children: [
//                                             PartItem(
//                                               part: part,
//                                               onEdit: (qty) {
//                                                 spare.qty = qty;
//                                               },
//                                               onDelete: (part) {
//                                                 _workOrder.sparePartsWorkOrders.remove(spare);
//                                                 setState(() {});
//                                               },
//                                             ),
//                                             if (_workOrder.calllastSituation?.name?.toLowerCase()?.contains("part installation") ?? false)
//                                               Row(
//                                                 children: [
//                                                   Expanded(
//                                                     child: ATextFormField(
//                                                       initialValue: part?.returnQty?.toString(),
//                                                       labelText: "Return Quantity",
//                                                       textAlign: TextAlign.center,
//                                                       style: Theme.of(context).textTheme.titleMedium,
//                                                       textInputType: TextInputType.number,
//                                                       onSaved: (value) {
//                                                         spare.returnQty = num.tryParse(value)?.toDouble();
//                                                       },
//                                                     ),
//                                                   ),
//                                                   const SizedBox(width: 8),
//                                                   Expanded(
//                                                     child: ATextFormField(
//                                                       initialValue: part?.installQty?.toString(),
//                                                       labelText: "Install Quantity",
//                                                       textAlign: TextAlign.center,
//                                                       style: Theme.of(context).textTheme.titleMedium,
//                                                       textInputType: TextInputType.number,
//                                                       onSaved: (value) {
//                                                         spare.installQty = num.tryParse(value)?.toDouble();
//                                                       },
//                                                     ),
//                                                   ),
//                                                 ],
//                                               ),
//                                           ],
//                                         );
//                                       },
//                                     ),
//                                   ),
//                                 const SizedBox(height: 16),
//                               ],
//                             ),
//                           ),
//                           const SizedBox(height: 24),
//                         ],
//                       ),
//                     ),
//                   ),
//                 ),
//                 AButton(
//                   text: context.translation.submit,
//                   onPressed: () async {
//                     _formKey.currentState.save();
//                     widget.subWorkOrder.copyFrom(_workOrder);
//                     Navigator.pop(context);
//                   },
//                 ),
//               ],
//             ),
//           ),
//         ),
//       ),
//     );
//   }
// }
