selectDate function
Implementation
Future<String> selectDate({
required BuildContext context,
DateTime? initialDate,
DateTime? firstDate,
DateTime? lastDate,
TimeOfDay? initialTime,
bool withTimePick = false,
bool Function(DateTime)? selectableDayPredicate,
}) async {
DateTime newDateTime = DateTime.now();
TimeOfDay? pickedTime;
final DateTime? pickedDate = await showDatePicker(
context: context,
initialDate: initialDate,
firstDate: firstDate ?? DateTime.now(),
lastDate: lastDate ?? DateTime.now().add(365.days),
selectableDayPredicate: (DateTime day) {
if (selectableDayPredicate != null) return selectableDayPredicate(day);
return true;
},
);
if (pickedDate != null) {
newDateTime = pickedDate;
if (withTimePick) {
pickedTime = await showTimePicker(
context: Get.context,
initialTime: initialTime ?? TimeOfDay.now(),
);
if (pickedTime != null) {
newDateTime = DateTime(
pickedDate.year,
pickedDate.month,
pickedDate.day,
pickedTime.hour,
pickedTime.minute,
);
YurLog(name: "Picked Date", newDateTime.toString());
}
return newDateTime.toString();
}
return newDateTime.toString();
} else {
YurLog(name: "Picked Date else", initialDate.toString());
return '';
}
}