showGrockAdaptiveTimePicker method

Future<TimeOfDay?> showGrockAdaptiveTimePicker({
  1. required TimeOfDay initialTime,
})

showAdaptiveTimePicker method

Implementation

Future<TimeOfDay?> showGrockAdaptiveTimePicker({
  required TimeOfDay initialTime,
}) async {
  if (Theme.of(context).platform == TargetPlatform.android) {
    return showTimePicker(
      context: context,
      initialTime: initialTime,
    );
  } else {
    Future<TimeOfDay?> result = Future.value(null);
    await showCupertinoModalPopup(
      context: context,
      builder: (context) => Container(
        height: 200,
        color: Colors.white,
        child: CupertinoDatePicker(
          mode: CupertinoDatePickerMode.time,
          initialDateTime: DateTime(
            DateTime.now().year,
            DateTime.now().month,
            DateTime.now().day,
            initialTime.hour,
            initialTime.minute,
          ),
          onDateTimeChanged: (value) {
            setState(() {
              result = Future.value(
                TimeOfDay(
                  hour: value.hour,
                  minute: value.minute,
                ),
              );
            });
          },
        ),
      ),
    );
    return result;
  }
}