YurShowPicker function

void YurShowPicker({
  1. required BuildContext context,
  2. required TextEditingController controller,
  3. double? minHour,
  4. double? minMinute,
  5. dynamic onChanged(
    1. String
    )?,
})

Implementation

void YurShowPicker({
  required BuildContext context,
  required TextEditingController controller,
  double? minHour,
  double? minMinute,
  Function(String)? onChanged,
}) {
  Navigator.of(context).push(
    showPicker(
      context: context,
      value: Time(
          hour: controller.text.isEmpty
              ? 0
              : int.parse(controller.text.split(":")[0]),
          minute: controller.text.isEmpty
              ? 0
              : int.parse(controller.text.split(":")[1])),
      onChange: (value) {
        String formattedHour = value.hour.toString().padLeft(2, '0');
        String formattedMinute = value.minute.toString().padLeft(2, '0');

        controller.text = "$formattedHour:$formattedMinute";
        if (onChanged != null) onChanged(controller.text);
      },
      is24HrFormat: true,
      iosStylePicker: true,
      blurredBackground: true,
      elevation: 5,
      minHour: minHour ?? 00,
      minMinute: minMinute ?? 00,
      okText: "Pilih",
      cancelText: "Batal",
      okStyle: const TextStyle(
        color: primaryRed,
        fontWeight: FontWeight.bold,
        fontSize: 16,
      ),
      cancelStyle: const TextStyle(
        color: primaryRed,
        fontWeight: FontWeight.bold,
        fontSize: 16,
      ),
      themeData: ThemeData(primaryColor: primaryRed),
    ),
  );
}