import 'package:sefer_driver/controller/functions/tts.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:sefer_driver/controller/home/payment/captain_wallet_controller.dart';

import '../../../../../constant/style.dart';
import '../../../../../controller/functions/encrypt_decrypt.dart';
import '../../../../widgets/elevated_btn.dart';
import '../../../../../controller/home/captin/home_captain_controller.dart';

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

  @override
  Widget build(BuildContext context) {
    // final OrderRequestController orderRequestController =
    //     Get.put(OrderRequestController());
    CaptainWalletController captainWalletController =
        Get.put(CaptainWalletController());

    captainWalletController.getCaptainWalletFromBuyPoints();
    return Center(
      child: GetBuilder<HomeCaptainController>(
          builder: (homeCaptainController) => double.parse(
                      (captainWalletController.totalPoints)) <
                  -30000
              ? CupertinoButton(
                  onPressed: () {
                    Get.defaultDialog(
                        // backgroundColor: CupertinoColors.destructiveRed,
                        barrierDismissible: false,
                        title: double.parse(
                                    (captainWalletController.totalPoints)) <
                                -30000
                            ? 'You dont have Points'.tr
                            : 'You Are Stopped For this Day !'.tr,
                        titleStyle: AppStyle.title,
                        content: Column(
                          children: [
                            IconButton(
                              onPressed: () async {
                                double.parse((captainWalletController
                                            .totalPoints)) <
                                        -30000
                                    ? await Get.find<TextToSpeechController>()
                                        .speakText(
                                            'You must be recharge your Account'
                                                .tr)
                                    : await Get.find<TextToSpeechController>()
                                        .speakText(
                                            'You Refused 3 Rides this Day that is the reason \nSee you Tomorrow!'
                                                .tr);
                              },
                              icon: const Icon(Icons.headphones),
                            ),
                            Text(
                              double.parse((captainWalletController
                                          .totalPoints)) <
                                      -30000
                                  ? 'You must be recharge your Account'.tr
                                  : 'You Refused 3 Rides this Day that is the reason \nSee you Tomorrow!'
                                      .tr,
                              style: AppStyle.title,
                            ),
                          ],
                        ),
                        confirm: double.parse(
                                    (captainWalletController.totalPoints)) <
                                -30000
                            ? MyElevatedButton(
                                title: 'Recharge my Account'.tr,
                                onPressed: () {
                                  homeCaptainController.goToWalletFromConnect();
                                })
                            : MyElevatedButton(
                                title: 'Ok , See you Tomorrow'.tr,
                                onPressed: () {
                                  Get.back();
                                  Get.back();
                                }));
                  },
                  color: CupertinoColors.destructiveRed,
                  child: Text(
                    'You are Stopped'.tr,
                    style: AppStyle.title,
                  ),
                )
              : Container(
                  decoration: BoxDecoration(
                    gradient: LinearGradient(
                      colors: homeCaptainController.isActive
                          ? [Colors.green.shade400, Colors.green.shade700]
                          : [Colors.grey.shade400, Colors.grey.shade700],
                    ),
                    borderRadius: BorderRadius.circular(12),
                    boxShadow: [
                      BoxShadow(
                        color: homeCaptainController.isActive
                            ? Colors.green.withOpacity(0.3)
                            : Colors.grey.withOpacity(0.3),
                        spreadRadius: 1,
                        blurRadius: 8,
                        offset: const Offset(0, 2),
                      ),
                    ],
                  ),
                  child: CupertinoButton(
                    onPressed: homeCaptainController.onButtonSelected,
                    padding: const EdgeInsets.symmetric(
                        horizontal: 24, vertical: 12),
                    child: Row(
                      mainAxisSize: MainAxisSize.min,
                      children: [
                        Icon(
                          homeCaptainController.isActive
                              ? CupertinoIcons.check_mark_circled_solid
                              : CupertinoIcons.circle,
                          color: Colors.white,
                          size: 24,
                        ),
                        const SizedBox(width: 8),
                        Text(
                          homeCaptainController.isActive
                              ? 'Connected'.tr
                              : 'Not Connected'.tr,
                          style: const TextStyle(
                            color: Colors.white,
                            fontSize: 16,
                            fontWeight: FontWeight.w600,
                          ),
                        ),
                      ],
                    ),
                  ),
                )),
    );
  }
}
