showGrockAdaptiveDatePicker method

Future<DateTime?> showGrockAdaptiveDatePicker({
  1. required DateTime initialDate,
  2. required DateTime firstDate,
  3. required DateTime lastDate,
})

showAdaptiveDatePicker method

Implementation

Future<DateTime?> showGrockAdaptiveDatePicker({
  required DateTime initialDate,
  required DateTime firstDate,
  required DateTime lastDate,
}) async {
  if (Theme.of(context).platform == TargetPlatform.android) {
    return showDatePicker(
      context: context,
      initialDate: initialDate,
      firstDate: firstDate,
      lastDate: lastDate,
    );
  } else {
    Future<DateTime?> result = Future.value(null);
    await showCupertinoModalPopup(
      context: context,
      builder: (context) => Container(
        height: MediaQuery.of(context).size.height * 0.32,
        color: Colors.white,
        child: CupertinoDatePicker(
          initialDateTime: initialDate,
          use24hFormat: true,
          mode: CupertinoDatePickerMode.date,
          minimumDate: firstDate,
          maximumDate: lastDate,
          onDateTimeChanged: (value) {
            setState(() {
              result = Future.value(value);
            });
          },
        ),
      ),
    );
    return result;
  }
}