import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart';

import '../../constant/box_name.dart';
import '../../constant/colors.dart';
import '../../constant/style.dart';
import '../../controller/auth/captin/login_captin_controller.dart';
import '../../controller/profile/profile_controller.dart';
import '../../main.dart';
import '../widgets/elevated_btn.dart';
import 'captin/login_captin.dart';

class CountryPicker extends StatelessWidget {
  final ProfileController controller = Get.put(ProfileController());

  final List<String> countryOptions = [
    'Jordan',
    'USA',
    'Egypt',
    'Turkey',
    'Saudi Arabia',
    'Qatar',
    'Bahrain',
    'Kuwait',
  ];

  CountryPicker({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return GetBuilder<ProfileController>(builder: (controller) {
      return Padding(
        padding: const EdgeInsets.all(20),
        child: ListView(
          children: [
            const SizedBox(
              height: 20,
            ),
            Text(
              "Select Your Country".tr,
              style: AppStyle.headTitle2,
              textAlign: TextAlign.center,
            ),
            // const SizedBox(
            //   height: 20,
            // ),
            Padding(
              padding: const EdgeInsets.all(10),
              child: Text(
                "To ensure you receive the most accurate information for your location, please select your country below. This will help tailor the app experience and content to your country."
                    .tr,
                style: AppStyle.title,
                textAlign: TextAlign.center,
              ),
            ),
            SizedBox(
              height: 200,
              child: CupertinoPicker(
                itemExtent: 32,
                onSelectedItemChanged: (int index) {
                  controller.setCountry(countryOptions[index]);
                  box.write(BoxName.countryCode,
                      countryOptions[index]); // Save in English
                },
                children: List.generate(
                  countryOptions.length,
                  (index) => Center(
                    child: Text(
                      countryOptions[index]
                          .tr, // Display translated if not English
                      style: AppStyle.title,
                    ),
                  ),
                ),
              ),
            ),

            MyElevatedButton(
              title: 'Select Country'.tr, // Use translated text for button
              onPressed: () {
                Get.find<LoginDriverController>().saveCountryCode(controller
                    .selectedCountry
                    .toString()); // No conversion needed
                box.write(
                    BoxName.countryCode, //
                    controller.selectedCountry); // Already saved in English
                Get.snackbar(controller.selectedCountry.toString().tr, '');
                Get.off(LoginCaptin());
              },
            )
          ],
        ),
      );
    });
  }
}

class CountryPickerFromSetting extends StatelessWidget {
  final ProfileController controller = Get.put(ProfileController());
  final LoginDriverController loginController =
      Get.put(LoginDriverController());

  final List<String> countryOptions = [
    'Jordan',
    'Egypt',
    'Turkey',
    'Saudi Arabia',
    'Qatar',
    'Bahrain',
    'Kuwait',
    'USA',
  ];

  CountryPickerFromSetting({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return GetBuilder<ProfileController>(builder: (controller) {
      return Padding(
        padding: const EdgeInsets.all(20.0),
        child: ListView(
          children: [
            const SizedBox(
              height: 20,
            ),
            Text(
              "Select Your Country".tr,
              style: AppStyle.headTitle2,
              textAlign: TextAlign.center,
            ),
            // const SizedBox(
            //   height: 20,
            // ),
            Padding(
              padding: const EdgeInsets.all(10),
              child: Text(
                "To ensure you receive the most accurate information for your location, please select your country below. This will help tailor the app experience and content to your country."
                    .tr,
                style: AppStyle.title,
                textAlign: TextAlign.center,
              ),
            ),
            SizedBox(
              height: 200,
              child: CupertinoPicker(
                itemExtent: 32,
                onSelectedItemChanged: (int index) {
                  controller.setCountry(countryOptions[index]);
                  box.write(BoxName.countryCode,
                      countryOptions[index]); // Save in English
                },
                children: List.generate(
                  countryOptions.length,
                  (index) => Center(
                    child: Text(
                      countryOptions[index]
                          .tr, // Display translated if not English
                      style: AppStyle.title,
                    ),
                  ),
                ),
              ),
            ),

            MyElevatedButton(
              title: 'Select Country'.tr, // Use translated text for button
              onPressed: () async {
                loginController.saveCountryCode(controller.selectedCountry
                    .toString()); // No conversion needed
                box.write(
                    BoxName.countryCode, //
                    controller.selectedCountry); // Already saved in English
                Get.snackbar(controller.selectedCountry.toString().tr, '',
                    backgroundColor: AppColor.greenColor);
                // Get.back();//
                // Get.back();
              },
            )
          ],
        ),
      );
    });
  }
}
