import 'package:flutter/material.dart';

import 'package:get/get.dart';
import '../../../constant/box_name.dart';
import '../../../constant/colors.dart';
import '../../../constant/info.dart';
import '../../../constant/style.dart';
import '../../../controller/functions/secure_storage.dart';
import '../../../controller/functions/toast.dart';
import '../../../controller/home/payment/credit_card_controller.dart';
import '../../../controller/payment/payment_controller.dart';
import '../../../main.dart';
import '../../widgets/elevated_btn.dart';
import '../../widgets/my_scafold.dart';
import '../map_widget.dart/payment_method.page.dart';
import 'passenger_wallet_dialoge.dart';

class PassengerWallet extends StatelessWidget {
  const PassengerWallet({super.key});

  @override
  Widget build(BuildContext context) {
    Get.put(PaymentController());
    Get.put(CreditCardController());
    return MyScafolld(
      title: 'My Wallet',
      isleading: true,
      body: [
        GetBuilder<PaymentController>(
          builder: (controller) => Column(
            children: [
              Column(
                children: [
                  Column(
                    children: [
                      Row(
                        mainAxisAlignment: MainAxisAlignment.center,
                        children: [
                          Container(
                            decoration: const BoxDecoration(
                                borderRadius:
                                    BorderRadius.all(Radius.circular(12)),
                                color: AppColor.secondaryColor,
                                boxShadow: [
                                  BoxShadow(
                                      color: AppColor.accentColor,
                                      offset: Offset(-1, -1),
                                      blurRadius: 0,
                                      spreadRadius: 0,
                                      blurStyle: BlurStyle.normal),
                                  BoxShadow(
                                      color: AppColor.accentColor,
                                      offset: Offset(3, 3),
                                      blurRadius: 1,
                                      spreadRadius: 0,
                                      blurStyle: BlurStyle.normal)
                                ]),
                            child: Padding(
                              padding: const EdgeInsets.all(10),
                              child:
                                  box.read(BoxName.passengerWalletTotal) == null
                                      ? Text(
                                          '${'You Dont Have Any amount in'.tr} ${AppInformation.appName}${'Wallet!'.tr}',
                                          style: AppStyle.title,
                                        )
                                      : Text(
                                          '${'You Have'.tr} ${box.read(BoxName.passengerWalletTotal).toString()} JD in ${AppInformation.appName} Wallet',
                                          style: AppStyle.title,
                                        ),
                            ),
                          ),
                        ],
                      ),
                      const SizedBox(
                        height: 30,
                      ),
                      const MyCreditCardWidget(),
                      const SizedBox(
                        height: 10,
                      ),
                      // GetBuilder<CreditCardController>(
                      //     builder: (creditCardController) => Row(
                      //           mainAxisAlignment: MainAxisAlignment.center,
                      //           children: [
                      //             MyElevatedButton(
                      //               title: 'Save Credit Card'.tr,
                      //               onPressed: () async {
                      //                 if (controller.formKey.currentState!
                      //                     .validate()) {
                      //                   SecureStorage().saveData(
                      //                       BoxName.cardNumber,
                      //                       creditCardController
                      //                           .cardNumberController.text);
                      //                   SecureStorage().saveData(
                      //                       BoxName.cardHolderName,
                      //                       creditCardController
                      //                           .cardHolderNameController.text);
                      //                   SecureStorage().saveData(
                      //                       BoxName.cvvCode,
                      //                       creditCardController
                      //                           .cvvCodeController.text);
                      //                   SecureStorage().saveData(
                      //                       BoxName.expiryDate,
                      //                       creditCardController
                      //                           .expiryDateController.text);
                      //                 }
                      //               },
                      //             ),
                      //           ],
                      //         )),
                      // // MyElevatedButton(
                      //   title: 'Charge your Wallet',
                      //   onPressed: () {
                      //     Get.defaultDialog(
                      //         title: 'Choose amount you will Charge?'.tr,
                      //         content: Column(
                      //           crossAxisAlignment: CrossAxisAlignment.center,
                      //           children: [
                      //             Row(
                      //               children: [
                      //                 Radio(
                      //                   value: 10,
                      //                   groupValue: controller.selectedAmount,
                      //                   onChanged: (value) {
                      //                     controller.selectedAmount =
                      //                         value as String?;
                      //                   },
                      //                 ),
                      //                 Text('10 and get 4% discount'.tr),
                      //               ],
                      //             ),
                      //             Row(
                      //               children: [
                      //                 Radio(
                      //                   value: 20,
                      //                   groupValue: controller.selectedAmount,
                      //                   onChanged: (value) {
                      //                     controller.selectedAmount =
                      //                         value as String?;
                      //                   },
                      //                 ),
                      //                 Text('20 and get 6% discount'.tr),
                      //               ],
                      //             ),
                      //             Row(
                      //               children: [
                      //                 Radio(
                      //                   value: 40,
                      //                   groupValue: controller.selectedAmount,
                      //                   onChanged: (value) {
                      //                     controller.selectedAmount =
                      //                         value as String?;
                      //                   },
                      //                 ),
                      //                 Text('40 and get 8% discount'.tr),
                      //               ],
                      //             ),
                      //             Row(
                      //               children: [
                      //                 Radio(
                      //                   value: 100,
                      //                   groupValue: controller.selectedAmount,
                      //                   onChanged: (value) {
                      //                     controller.selectedAmount =
                      //                         value as String?;
                      //                   },
                      //                 ),
                      //                 Text('100 and get 11% discount'.tr),
                      //               ],
                      //             ),
                      //           ],
                      //         ));
                      //   },
                      // )
                    ],
                  ),
                ],
              ),
            ],
          ),
        ),
        GetBuilder<PaymentController>(
            builder: (controller) => controller.isPromoSheetDialogue
                ? Container(
                    color: AppColor.accentColor.withOpacity(.91),
                  )
                : const SizedBox()),
        GetBuilder<PaymentController>(
            builder: (controller) => Positioned(
                  bottom: Get.height * .3,
                  left: Get.width * .3,
                  right: Get.width * .3,
                  child: MyElevatedButton(
                    title: 'Show Promos'.tr,
                    onPressed: () {
                      controller.changePromoSheetDialogue();
                    },
                  ),
                )),
        const PassengerWalletDialoge(),
      ],
    );
  }
}
