// import 'dart:async';
//
// import 'package:absenkuv3/UI/Modul/Patroli/ListJadwalPatroli.dart';
// import 'package:absenkuv3/UI/Modul/Patroli/WidgetQrPatroli.dart';
// import 'package:flutter/material.dart';
// import 'package:flutter_bloc/flutter_bloc.dart';
// // import 'package:clean_dialog/clean_dialog.dart';
//
// import 'package:absenkuv3/Bloc/Patroli/CekValidasiWaktuBloc.dart';
// import 'package:absenkuv3/Repository/Model/mChekpoint.dart';
// import 'package:absenkuv3/Repository/sharedPreference.dart';
//
// class CustomBottomSheet extends StatefulWidget {
//   @override
//   _CustomBottomSheetState createState() => _CustomBottomSheetState();
// }
//
// class _CustomBottomSheetState extends State<CustomBottomSheet> {
//   DateTime utc = DateTime.now().toUtc();
//   JadwalChekpoint? selectedJadwalChekpoint;
//
//   @override
//   void initState() {
//     // Initialize the Bloc when the widget is created
//     BlocProvider.of<CekValidasiWaktuBloc>(context)
//         .add(ChekValidasiWaktu(utc.millisecondsSinceEpoch.toString()));
//     super.initState();
//   }
//
//   @override
//   Widget build(BuildContext context) {
//     double screenHeight = MediaQuery.of(context).size.height;
//     double halfScreenHeight = screenHeight * 0.5;
//
//     return Container(
//       child: Padding(
//         padding: EdgeInsets.all(13.0),
//         child: Column(
//           mainAxisSize: MainAxisSize.min,
//           crossAxisAlignment: CrossAxisAlignment.start,
//           children: <Widget>[
//             Container(
//               height: halfScreenHeight,
//               width: MediaQuery.of(context).size.width,
//               padding: EdgeInsets.only(top: 16, left: 16, right: 16),
//               child: Column(
//                 crossAxisAlignment: CrossAxisAlignment.start,
//                 children: [
//                   Text(
//                     "Pilih Jadwal",
//                     style: TextStyle(fontSize: 14, fontWeight: FontWeight.bold),
//                   ),
//                   Divider(),
//                   Expanded(
//                     child: ListJadwalPatroli(
//                       onValuesChanged: (List<JadwalChekpoint> selectedValues) {
//                         setState(() {
//                           selectedJadwalChekpoint =
//                               selectedValues.isNotEmpty ? selectedValues.first : null;
//                         });
//                        
//                       },
//                     ),
//                   ),
//                   BlocBuilder<CekValidasiWaktuBloc, CekValidasiWaktuState>(
//                     builder: (context, state) {
//                       return IgnorePointer(
//                         ignoring: selectedJadwalChekpoint == null,
//                         child: GestureDetector(
//                           onTap: () async {
//                             var userData = await sharedPreferences().getUserData();
//                             BlocProvider.of<CekValidasiWaktuBloc>(context).add(
//                                 ChekValidasiWaktu(
//                                     utc.millisecondsSinceEpoch.toString()));
//                             if (selectedJadwalChekpoint != null) {
//                               if (state is ChekValidasiSuccess ||
//                                   state is ChekValidasiProgress) {
//                                 if (userData.dataLogin!.qrcodeFlag == 0) {
//                                   Navigator.of(context).push(MaterialPageRoute(
//                                     builder: (context) => QRViewExample(
//                                       jadwalChekpoint: selectedJadwalChekpoint,
//                                     ),
//                                   ));
//                                 } else if (userData.dataLogin!.qrcodeFlag == 1) {
//                                   Navigator.of(context).push(MaterialPageRoute(
//                                     builder: (context) => BarcodeScannerV1(
//                                       jadwalChekpoint: selectedJadwalChekpoint,
//                                     ),
//                                   ));
//                                 } else {
//                                   Navigator.of(context).push(MaterialPageRoute(
//                                     builder: (context) => QRViewExample(
//                                       jadwalChekpoint: selectedJadwalChekpoint,
//                                     ),
//                                   ));
//                                 }
//                               } else if (state is CekValidasiNovalid) {
//                                 print("Masuk");
//                               } else {
//                                 // showDialog(
//                                 //   context: context,
//                                 //   builder: (context) => CleanDialog(
//                                 //     backgroundColor: Colors.white,
//                                 //     actions: [],
//                                 //     title: 'GAGAL',
//                                 //     content: 'Mohon sesuaikan tanggal dan waktu ponsel Anda secara otomatis atau yang di sediakan jaringan',
//                                 //   ),
//                                 // );
//                               }
//                             } else {
//                               // showDialog(
//                               //   context: context,
//                               //   builder: (context) => CleanDialog(
//                               //     backgroundColor: Colors.white,
//                               //     actions: [],
//                               //     title: 'GAGAL',
//                               //     content: 'Pilih Jadwal Chekpoint Terlebih Dahulu',
//                               //   ),
//                               // );
//                             }
//                           },
//                           child: Container(
//                             decoration: BoxDecoration(
//                              color: selectedJadwalChekpoint != null
//                                 ? Colors.green
//                                 : Colors.grey,
//                               borderRadius: BorderRadius.circular(15),
//                             ),
//                             padding: EdgeInsets.all(16),
//                             alignment: Alignment.center,
//                             child: Text(
//                               'SUBMIT',
//                               style: TextStyle(color: Colors.white),
//                             ),
//                           ),
//                         ),
//                       );
//                     },
//                   ),
//                 ],
//               ),
//             ),
//           ],
//         ),
//       ),
//     );
//   }
// }
