// import 'package:flutter/material.dart';
// import 'package:flutter_bloc/flutter_bloc.dart';
// import 'package:syncrow_app/features/devices/bloc/power_clamp_bloc/power_clamp_bloc.dart';
// import 'package:syncrow_app/features/devices/bloc/power_clamp_bloc/power_clamp_event.dart';
// import 'package:syncrow_app/features/devices/bloc/power_clamp_bloc/power_clamp_state.dart';
// import 'package:syncrow_app/features/devices/model/device_model.dart';
// import 'package:syncrow_app/features/devices/model/power_clamp_model.dart';
// import 'package:syncrow_app/features/devices/view/widgets/power_clamp/power_chart.dart';
// import 'package:syncrow_app/features/devices/view/widgets/power_clamp/power_clamp_card.dart';
// import 'package:syncrow_app/features/shared_widgets/default_container.dart';
// import 'package:syncrow_app/features/shared_widgets/default_scaffold.dart';
// import 'package:syncrow_app/utils/resource_manager/color_manager.dart';

// class PowerClampTestPage extends StatefulWidget {
//   late final DeviceModel? device;

//    PowerClampTestPage({super.key, this.device});

//   @override
//   _PowerClampTestPageState createState() => _PowerClampTestPageState();
// }

// class _PowerClampTestPageState extends State<PowerClampTestPage> {
//   final PageController _pageController = PageController();
//   int _currentPage = 0;
//   final int _pageCount = 4;
//   @override
//   void initState() {
//     super.initState();
//     _pageController.addListener(() {
//       int nextPage = _pageController.page?.round() ?? 0;
//       if (_currentPage != nextPage) {
//         setState(() {
//           _currentPage = nextPage;
//         });
//       }
//     });
//   }

//   @override
//   void dispose() {
//     _pageController.dispose();
//     super.dispose();
//   }

//   @override
//   Widget build(BuildContext context) {
//     return DefaultScaffold(
//       title: 'Power Clamp',
//       child: BlocProvider(
//         create: (context) => PowerClampBloc(PCId: widget.device?.uuid ?? '')
//           ..add(const PowerClampInitial()),
//         child: BlocBuilder<PowerClampBloc, PowerClampState>(
//           builder: (context, state) {
//             final _blocProvider = BlocProvider.of<PowerClampBloc>(context);
//             PowerClampModel model = PowerClampModel(
//               productType: '',
//               productUuid: '',
//               status: PowerStatus(
//                 phaseA: Phase(
//                   dataPoints: [
//                     DataPoint(
//                         code: '',
//                         customName: '',
//                         dpId: 0,
//                         time: 0,
//                         type: '',
//                         value: 0),
//                   ],
//                 ),
//                 phaseB: Phase(
//                   dataPoints: [
//                     DataPoint(
//                         code: '',
//                         customName: '',
//                         dpId: 0,
//                         time: 0,
//                         type: '',
//                         value: 0),
//                   ],
//                 ),
//                 phaseC: Phase(
//                   dataPoints: [
//                     DataPoint(
//                         code: '',
//                         customName: '',
//                         dpId: 0,
//                         time: 0,
//                         type: '',
//                         value: 0),
//                   ],
//                 ),
//                 general: Phase(
//                   dataPoints: [
//                     DataPoint(
//                         code: '',
//                         customName: '',
//                         dpId: 0,
//                         time: 0,
//                         type: '',
//                         value: 0),
//                   ],
//                 ),
//               ),
//             );
//             List<EnergyData> chartData = [];

//             if (state is UpdateState) {
//               model = state.powerClampModel;
//             } else if (state is EnergyDataState) {
//               chartData = state.energyData;
//             }
//             return state is PowerClampLoadingState
//                 ? const Center(
//                     child: DefaultContainer(
//                         width: 50,
//                         height: 50,
//                         child: CircularProgressIndicator()),
//                   )
//                 : Column(
//                     children: [
//                       Flexible(
//                         child: RefreshIndicator(
//                           onRefresh: () async {
//                             _blocProvider.add(const PowerClampInitial());
//                           },
//                           child: PageView(
//                               controller: _pageController,
//                               children: [
//                                 PowerClampCard(
//                                     energyConsumption:
//                                         model.status.general.dataPoints.length > 0
//                                             ? model.status.general.dataPoints[0].value
//                                                 .toString()
//                                             : 'N/A',
//                                     title: 'Total Energy \nConsumption',
//                                     isGeneral: true,
//       dateSwitcher: Container(),
//                                     formattedDate: _blocProvider.formattedDate,
//                                     selectDateEvent: () {
//                                       _blocProvider.add(
//                                           SelectDateEvent(context: context));
//                                     },
//                                     totalFrequencyGeneral:
//                                         model.status.general.dataPoints.length > 4
//                                             ? model.status.general.dataPoints[4].value
//                                                 .toString()
//                                             : 'N/A',
//                                     totalActiveGeneral:
//                                         model.status.general.dataPoints.length > 2
//                                             ? model.status.general.dataPoints[2].value
//                                                 .toString()
//                                             : 'N/A',
//                                     totalCurrentGeneral:
//                                         model.status.general.dataPoints.length > 1
//                                             ? model.status.general.dataPoints[1].value
//                                                 .toString()
//                                             : 'N/A',
//                                     totalVoltage:
//                                         model.status.general.dataPoints.length > 0
//                                             ? model.status.general.dataPoints[0].value.toString()
//                                             : 'N/A',
//                                     chartData: chartData,
//                                     context: context),



//                                      PowerClampCard(
//                                     energyConsumption:
//                                         model.status.phaseA.dataPoints.length > 5
//                                             ? model.status.phaseA.dataPoints[5].value
//                                                 .toString()
//                                             : 'N/A',
//                                     title: 'Phase A Energy \nConsumption',
//                                     dateSwitcher: _blocProvider.dateSwitcher(),
//                                     formattedDate: _blocProvider.formattedDate,
//                                     selectDateEvent: () {
//                                       _blocProvider.add(
//                                           SelectDateEvent(context: context));
//                                     },
//                                     totalFactor: model.status.phaseA.dataPoints.length > 3
//                                         ? model.status.phaseA.dataPoints[3].value
//                                             .toString()
//                                         : 'N/A',
//                                     totalActive: model.status.phaseA.dataPoints.length > 2
//                                         ? model.status.phaseA.dataPoints[2].value
//                                             .toString()
//                                         : 'N/A',
//                                     totalCurrent:
//                                         model.status.phaseA.dataPoints.length > 1
//                                             ? model.status.phaseA.dataPoints[1]
//                                                 .value
//                                                 .toString()
//                                             : 'N/A',
//                                     totalVoltage:
//                                         model.status.phaseA.dataPoints.length > 0
//                                             ? model.status.phaseA.dataPoints[0]
//                                                 .value
//                                                 .toString()
//                                             : 'N/A',
//                                     chartData: chartData,
//                                     context: context),


//                                      PowerClampCard(
//                                     energyConsumption:
//                                         model.status.phaseB.dataPoints.length > 5
//                                             ? model.status.phaseB.dataPoints[5].value
//                                                 .toString()
//                                             : 'N/A',
//                                     title: 'Phase B Energy \nConsumption',
//                                     dateSwitcher: _blocProvider.dateSwitcher(),
//                                     formattedDate: _blocProvider.formattedDate,
//                                     selectDateEvent: () {
//                                       _blocProvider.add(
//                                           SelectDateEvent(context: context));
//                                     },
//                                     totalFactor: model.status.phaseA.dataPoints.length > 3
//                                         ? model.status.phaseB.dataPoints[3].value
//                                             .toString()
//                                         : 'N/A',
//                                     totalActive: model.status.phaseB.dataPoints.length > 2
//                                         ? model.status.phaseB.dataPoints[2].value
//                                             .toString()
//                                         : 'N/A',
//                                     totalCurrent:
//                                         model.status.phaseB.dataPoints.length > 1
//                                             ? model.status.phaseB.dataPoints[1]
//                                                 .value
//                                                 .toString()
//                                             : 'N/A',
//                                     totalVoltage:
//                                         model.status.phaseB.dataPoints.length > 0
//                                             ? model.status.phaseB.dataPoints[0]
//                                                 .value
//                                                 .toString()
//                                             : 'N/A',
//                                     chartData: chartData,
//                                     context: context),


//                                      PowerClampCard(
//                                     energyConsumption:
//                                         model.status.phaseC.dataPoints.length > 5
//                                             ? model.status.phaseC.dataPoints[5].value
//                                                 .toString()
//                                             : 'N/A',
//                                     title: 'Phase A Energy \nConsumption',
//                                     dateSwitcher: _blocProvider.dateSwitcher(),
//                                     formattedDate: _blocProvider.formattedDate,
//                                     selectDateEvent: () {
//                                       _blocProvider.add(
//                                           SelectDateEvent(context: context));
//                                     },
//                                     totalFactor: model.status.phaseC.dataPoints.length > 3
//                                         ? model.status.phaseC.dataPoints[3].value
//                                             .toString()
//                                         : 'N/A',
//                                     totalActive: model.status.phaseC.dataPoints.length > 2
//                                         ? model.status.phaseC.dataPoints[2].value
//                                             .toString()
//                                         : 'N/A',
//                                     totalCurrent:
//                                         model.status.phaseC.dataPoints.length > 1
//                                             ? model.status.phaseC.dataPoints[1]
//                                                 .value
//                                                 .toString()
//                                             : 'N/A',
//                                     totalVoltage:
//                                         model.status.phaseC.dataPoints.length > 0
//                                             ? model.status.phaseC.dataPoints[0]
//                                                 .value
//                                                 .toString()
//                                             : 'N/A',
//                                     chartData: chartData,
//                                     context: context),
                               
//                               ]),
//                         ),
//                       ),
//                       Padding(
//                         padding: const EdgeInsets.symmetric(vertical: 10.0),
//                         child: Row(
//                           mainAxisAlignment: MainAxisAlignment.center,
//                           children: List.generate(_pageCount, (index) {
//                             return AnimatedContainer(
//                               duration: const Duration(milliseconds: 300),
//                               margin:
//                                   const EdgeInsets.symmetric(horizontal: 4.0),
//                               height: 10.0,
//                               width: _currentPage == index
//                                   ? 10.0
//                                   : 10.0, // Change width for current page
//                               decoration: BoxDecoration(
//                                 color: _currentPage == index
//                                     ? Colors
//                                         .grey // Use a different color for the active indicator
//                                     : ColorsManager.greyColor,
//                                 borderRadius: BorderRadius.circular(5.0),
//                               ),
//                             );
//                           }),
//                         ),
//                       ),
//                     ],
//                   );
//           },
//         ),
//       ),
//     );
//   }
// }
