import 'package:SEFER/constant/style.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:google_maps_flutter/google_maps_flutter.dart';
import 'package:path/path.dart' as path;
import '../../../constant/colors.dart';
import '../../../controller/functions/audio_record1.dart';
import '../../../controller/functions/tts.dart';
import '../../../controller/home/map_passenger_controller.dart';

GetBuilder<MapPassengerController> leftMainMenuIcons() {
  final textToSpeechController = Get.put(TextToSpeechController());
  return GetBuilder<MapPassengerController>(
    builder: (controller) => Positioned(
        top: 85,
        left: 6,
        child: Builder(builder: (context) {
          return Column(
            children: [
              AnimatedContainer(
                duration: const Duration(microseconds: 200),
                width: controller.widthMapTypeAndTraffic,
                decoration: BoxDecoration(
                    border: Border.all(),
                    color: AppColor.secondaryColor,
                    borderRadius: BorderRadius.circular(15)),
                child: IconButton(
                  onPressed: () {
                    controller.changeMapType();
                    // Toast.show(context, 'This is a toast message!');
                  },
                  icon: const Icon(
                    Icons.satellite_alt,
                    size: 29,
                  ),
                ),
              ),
              const SizedBox(
                height: 5,
              ),
              AnimatedContainer(
                duration: const Duration(microseconds: 200),
                width: controller.widthMapTypeAndTraffic,
                decoration: BoxDecoration(
                    color: AppColor.secondaryColor,
                    border: Border.all(),
                    borderRadius: BorderRadius.circular(15)),
                child: IconButton(
                  onPressed: () {
                    controller.changeMapTraffic();
                    // Toast.show(context, 'This is a toast message!');
                  },
                  icon: const Icon(
                    Icons.streetview_sharp,
                    size: 29,
                  ),
                ),
              ),
              const SizedBox(
                height: 5,
              ),
              // if (Platform.isIOS)
              AnimatedContainer(
                duration: const Duration(microseconds: 200),
                width: controller.widthMapTypeAndTraffic,
                decoration: BoxDecoration(
                    color: AppColor.secondaryColor,
                    border: Border.all(),
                    borderRadius: BorderRadius.circular(15)),
                child: IconButton(
                  onPressed: () {
                    controller.mapController?.animateCamera(
                        CameraUpdate.newLatLng(LatLng(
                            controller.passengerLocation.latitude,
                            controller.passengerLocation.longitude)));
                  },
                  icon: const Icon(
                    Icons.location_on,
                    size: 29,
                  ),
                ),
              ),
              const SizedBox(
                height: 5,
              ),
              AnimatedContainer(
                duration: const Duration(microseconds: 200),
                width: controller.widthMapTypeAndTraffic,
                decoration: BoxDecoration(
                    color: AppColor.secondaryColor,
                    border: Border.all(),
                    borderRadius: BorderRadius.circular(15)),
                child: IconButton(
                  onPressed: () async {
                    await Get.find<AudioRecorderController>().stopRecording();
                  },
                  icon: const Icon(
                    Icons.voice_chat,
                    size: 29,
                  ),
                ),
              ),
              AnimatedContainer(
                duration: const Duration(microseconds: 200),
                width: controller.widthMapTypeAndTraffic,
                decoration: BoxDecoration(
                    color: AppColor.secondaryColor,
                    border: Border.all(),
                    borderRadius: BorderRadius.circular(15)),
                child: IconButton(
                  onPressed: () async {
                    // AC credentials = AC();
                    // String apiKey = AK.payPalSecret;
                    // String convertedStringN = credentials.c(
                    //     credentials.c(credentials.c(apiKey, cs), cC), cn);
                    // print('Converted v: $convertedStringN');

                    // String retrievedStringS = credentials.r(
                    //     credentials.r(credentials.r(convertedStringN, cn), cC),
                    //     cs);
                    // print('Retrieved String: $retrievedStringS');
                    // //
                    // if (retrievedStringS == apiKey) {
                    //   print('same');
                    // }

                    // print(box.read(BoxName.passengerWalletTotal));
                    // print(box.read(BoxName.name));
                    // print(box.read(BoxName.phone));
                    // print(box.read(BoxName.email));
                    // await Get.find<PaymentController>()
                    //     .payWithPayMob(context, '1100', 'EGP');
                    // Initiates a payment with a card using the FlutterPaymob instance

                    // NotificationController()
                    //     .showNotification('Order', 'hi this is', 'tone1');
                    // Get.to(() => DriverCallPage());
                    // print(controller.carLocationsModels);
                    // controller.getKazanPercent();
                    // PassengerCallPage(
                    //       channelName: '',
                    //       token: '',
                    //       remoteID: '',
                    //     )
                    // Get.to(() => const CallPage());
                    // print(box.read(BoxName.lang));
                    await Get.find<AudioRecorderController>().startRecording();
                  },
                  icon: Icon(
                    Get.put(AudioRecorderController()).isRecording
                        ? Icons.stop
                        : Icons.start,
                    size: 29,
                  ),
                ),
              ),
            ],
          );
        })),
  );
}
