showDatePicker static method

Future<DateTime?> showDatePicker(
  1. BuildContext context, {
  2. DateTime? minimumDate,
  3. DateTime? maximumDate,
  4. DateTime? initialDate,
  5. Brightness? brightness,
  6. bool dismissible = true,
  7. bool useRootNavigator = false,
})

Implementation

static Future<DateTime?> showDatePicker(
  BuildContext context, {
  DateTime? minimumDate,
  DateTime? maximumDate,
  DateTime? initialDate,

  /// only for iOS
  Brightness? brightness,
  bool dismissible = true,
  bool useRootNavigator = false,
}) async {
  final minDate = minimumDate ?? DateTime(1900);
  final maxDate = maximumDate ?? DateTime(2100);

  // Ensure initialDate is not null. If it is, set it to the current date as a fallback
  var initDate = initialDate ?? DateTime.now();

  // Adjust initialDate if it's outside the range of minDate and maxDate
  if (initDate.isAfter(maxDate)) {
    initDate = maxDate;
  } else if (initDate.isBefore(minDate)) {
    initDate = minDate;
  }

  return AdaptiveDatePicker(Theme.of(context).platform).show(
    context,
    minimumDate: minDate,
    maximumDate: maxDate,
    initialDate: initDate,
    brightness: brightness,
  );
}