import 'package:SEFER/constant/box_name.dart';
import 'package:SEFER/main.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:SEFER/controller/auth/captin/register_captin_controller.dart';
import 'package:SEFER/views/widgets/elevated_btn.dart';
import 'package:SEFER/views/widgets/my_scafold.dart';

import '../../../constant/colors.dart';

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

  @override
  Widget build(BuildContext context) {
    Get.put(RegisterCaptainController());
    return MyScafolld(
        title: 'Register Driver'.tr,
        body: [
          GetBuilder<RegisterCaptainController>(
            builder: (controller) => Form(
              key: controller.formKey,
              child: Padding(
                padding: const EdgeInsets.all(16.0),
                child: SingleChildScrollView(
                  child: Container(
                    decoration: const BoxDecoration(
                      boxShadow: [
                        BoxShadow(
                            offset: Offset(3, 3),
                            color: AppColor.accentColor,
                            blurRadius: 3)
                      ],
                      color: AppColor.secondaryColor,
                    ),
                    child: Padding(
                      padding: const EdgeInsets.all(16),
                      child: Column(
                        children: [
                          SizedBox(
                            width: Get.width * .8,
                            child: TextFormField(
                              keyboardType: TextInputType.emailAddress,
                              controller: controller.emailController,
                              decoration: InputDecoration(
                                focusedBorder: OutlineInputBorder(
                                  borderSide: const BorderSide(
                                    color: AppColor.primaryColor,
                                    width: 2.0,
                                  ),
                                  borderRadius: BorderRadius.circular(10),
                                ),
                                fillColor: AppColor.accentColor,
                                hoverColor: AppColor.accentColor,
                                focusColor: AppColor.accentColor,
                                border: const OutlineInputBorder(
                                    borderRadius:
                                        BorderRadius.all(Radius.circular(12))),
                                labelText: 'Email'.tr,
                                hintText: 'Enter your email address'.tr,
                              ),
                              validator: (value) {
                                if (value!.isEmpty ||
                                    (!value.contains('@') ||
                                        !value.contains('.'))) {
                                  return 'Please enter Your Email.'.tr;
                                }
                                return null;
                              },
                            ),
                          ),
                          const SizedBox(
                            height: 15,
                          ),
                          SizedBox(
                            width: Get.width * .8,
                            child: TextFormField(
                              obscureText: true,
                              keyboardType: TextInputType.emailAddress,
                              controller: controller.passwordController,
                              decoration: InputDecoration(
                                focusedBorder: OutlineInputBorder(
                                  borderSide: const BorderSide(
                                    color: AppColor.primaryColor,
                                    width: 2.0,
                                  ),
                                  borderRadius: BorderRadius.circular(10),
                                ),
                                fillColor: AppColor.accentColor,
                                hoverColor: AppColor.accentColor,
                                focusColor: AppColor.accentColor,
                                border: const OutlineInputBorder(
                                    borderRadius:
                                        BorderRadius.all(Radius.circular(12))),
                                labelText: 'Password'.tr,
                                hintText: 'Enter your Password'.tr,
                              ),
                              validator: (value) {
                                if (value!.isEmpty) {
                                  return 'Please enter Your Password.'.tr;
                                }
                                if (value.length < 6) {
                                  return 'Password must br at least 6 character.'
                                      .tr;
                                }
                                return null;
                              },
                            ),
                          ),
                          const SizedBox(
                            height: 15,
                          ),
                          SizedBox(
                            width: Get.width * .8,
                            child: TextFormField(
                              keyboardType: TextInputType.phone,
                              cursorColor: AppColor.accentColor,
                              controller: controller.phoneController,
                              decoration: InputDecoration(
                                focusedBorder: OutlineInputBorder(
                                  borderSide: const BorderSide(
                                    color: AppColor.primaryColor,
                                    width: 2.0,
                                  ),
                                  borderRadius: BorderRadius.circular(10),
                                ),
                                focusColor: AppColor.accentColor,
                                fillColor: AppColor.accentColor,
                                border: const OutlineInputBorder(
                                    borderRadius:
                                        BorderRadius.all(Radius.circular(12))),
                                labelText: 'Phone'.tr,
                                hintText: 'Enter your phone number'.tr,
                              ),
                              validator: (value) {
                                if (value!.isEmpty || value.length != 10) {
                                  return 'Please enter your phone number.'.tr;
                                }
                                return null;
                              },
                            ),
                          ),
                          const SizedBox(
                            height: 15,
                          ),
                          MyElevatedButton(
                              title: 'Next'.tr,
                              onPressed: () => controller.nextToAIDetection()),
                          IconButton(
                            onPressed: () {
                              print(box.write(BoxName.countryCode, 'Jordan'));
                              print(box.read(BoxName.countryCode));
                            },
                            icon: const Icon(Icons.add),
                          )
                        ],
                      ),
                    ),
                  ),
                ),
              ),
            ),
          )
        ],
        isleading: true);
  }
}
