showCalendarPicker static method

Future<CalendarPickerResult?> showCalendarPicker({
  1. CalendarPickerMode mode = CalendarPickerMode.single,
  2. DateTime? initialDate,
  3. DateTime? firstDate,
  4. DateTime? lastDate,
  5. DateTime? initialRangeStart,
  6. DateTime? initialRangeEnd,
  7. List<DateTime>? initialSelectedDates,
  8. List<DateTime>? disabledDates,
  9. Color? primaryColor,
  10. Color? selectedColor,
  11. Color? todayColor,
  12. String? title,
  13. String? confirmButtonText,
  14. String? cancelButtonText,
  15. bool barrierDismissible = true,
})

Implementation

static Future<CalendarPickerResult?> showCalendarPicker({
  CalendarPickerMode mode = CalendarPickerMode.single,
  DateTime? initialDate,
  DateTime? firstDate,
  DateTime? lastDate,
  DateTime? initialRangeStart,
  DateTime? initialRangeEnd,
  List<DateTime>? initialSelectedDates,
  List<DateTime>? disabledDates,
  Color? primaryColor,
  Color? selectedColor,
  Color? todayColor,
  String? title,
  String? confirmButtonText,
  String? cancelButtonText,
  bool barrierDismissible = true,
}) async {
  initialDate ??= DateTime.now();
  firstDate ??= DateTime.now().subtract(const Duration(days: 365 * 5));
  lastDate ??= DateTime.now().add(const Duration(days: 365 * 5));
  primaryColor ??= AppColors.primary;
  selectedColor ??= primaryColor;
  todayColor ??= Colors.amber;

  final result = await Get.dialog<CalendarPickerResult>(
    CalendarPickerDialog(
      mode: mode,
      initialDate: initialDate,
      firstDate: firstDate,
      lastDate: lastDate,
      initialRangeStart: initialRangeStart,
      initialRangeEnd: initialRangeEnd,
      initialSelectedDates: initialSelectedDates,
      disabledDates: disabledDates,
      primaryColor: primaryColor,
      selectedColor: selectedColor,
      todayColor: todayColor,
      title: title ?? 'Select Date',
      confirmButtonText: confirmButtonText ?? 'Confirm',
      cancelButtonText: cancelButtonText ?? 'Cancel',
    ),
    barrierDismissible: barrierDismissible,
  );

  return result;
}