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

import '../../../../../constant/style.dart';
import '../../../../widgets/elevated_btn.dart';
import '../../../../../controller/home/captin/home_captain_controller.dart';
import '../../../../../controller/home/captin/order_request_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) => int.parse(
                        orderRequestController.countRefuse) >
                    3 ||
                double.parse(captainWalletController.totalPoints) < -300
            ? CupertinoButton(
                onPressed: () {
                  Get.defaultDialog(
                      // backgroundColor: CupertinoColors.destructiveRed,
                      barrierDismissible: false,
                      title: double.parse(captainWalletController.totalPoints) <
                              -300
                          ? '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) <
                                      -300
                                  ? 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) <
                                    -300
                                ? '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) <
                                  -300
                              ? 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,
                ),
              )
            : CupertinoButton(
                onPressed: homeCaptainController.onButtonSelected,
                color: homeCaptainController.isActive
                    ? CupertinoColors.activeGreen
                    : CupertinoColors.inactiveGray,
                child: Text(homeCaptainController.isActive
                    ? 'Connected'.tr
                    : 'Not Connected'.tr),
              ),
      ),
    );
  }
}
