import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:sk_base_mobile/constants/bg_color.dart';
import 'package:sk_base_mobile/screens/new_inventory_inout/new_inventory_inout_controller.dart';

class DateTimeInput extends StatelessWidget {
  DateTimeInput({super.key});

  final controller = Get.put(NewInventoryInoutController());

  @override
  Widget build(BuildContext context) {
    return Padding(
      padding: const EdgeInsets.symmetric(horizontal: 20, vertical: 20),
      child: Row(
        children: [
          Column(
            crossAxisAlignment: CrossAxisAlignment.start,
            children: [
              const Text(
                'Date',
                style:
                    TextStyle(color: Colors.black, fontWeight: FontWeight.bold),
              ),
              const SizedBox(
                height: defaultPadding / 2,
              ),
              InkWell(
                  onTap: () => controller.showDatePick(),
                  child: Obx(() => DateTimeContainer(
                      text: controller.selectedDate.isEmpty
                          ? 'dd/mm/yyyy'
                          : controller.selectedDate.value)))
            ],
          ),
          const Spacer(),
          Column(
            crossAxisAlignment: CrossAxisAlignment.start,
            children: [
              const Text(
                'S-Time',
                style:
                    TextStyle(color: Colors.black, fontWeight: FontWeight.bold),
              ),
              const SizedBox(
                height: defaultPadding / 2,
              ),
              InkWell(
                  onTap: () => controller.picStartTime(context),
                  child: Obx(() => DateTimeContainer(
                      text: controller.startTime.isEmpty
                          ? "hh:mm:a"
                          : controller.startTime.value)))
            ],
          ),
          const Spacer(),
          Column(
            crossAxisAlignment: CrossAxisAlignment.start,
            children: [
              const Text(
                'E-Time',
                style:
                    TextStyle(color: Colors.black, fontWeight: FontWeight.bold),
              ),
              const SizedBox(
                height: defaultPadding / 2,
              ),
              InkWell(
                  onTap: () => controller.picEndTime(context),
                  child: Obx(() => DateTimeContainer(
                      text: controller.endTime.isEmpty
                          ? "hh:mm:a"
                          : controller.endTime.value)))
            ],
          ),
        ],
      ),
    );
  }
}

class DateTimeContainer extends StatelessWidget {
  const DateTimeContainer({super.key, required this.text});

  final String text;

  @override
  Widget build(BuildContext context) {
    return Container(
      padding: const EdgeInsets.symmetric(horizontal: 10, vertical: 10),
      decoration: BoxDecoration(
        color: Colors.grey.withOpacity(.2),
        borderRadius: BorderRadius.circular(20),
      ),
      child: Row(
        children: [
          Icon(
            Icons.date_range,
            color: darkBlue,
            size: 16,
          ),
          SizedBox(
            width: defaultPadding / 4,
          ),
          Text(text),
        ],
      ),
    );
  }
}
