showDateTimePicker function
Implementation
void showDateTimePicker(
BuildContext context, String? initTime, ValueChanged<String> onSelect) {
DateFormat inputFormat = DateFormat("y-M-d");
DateFormat outputFormat = DateFormat('yyyy-MM-dd');
String pickTime = initTime?.isNotEmpty == true
? initTime!
: outputFormat.format(DateTime.now());
showCupertinoModalPopup(
context: context,
builder: (context) => Container(
color: Colors.white,
child: Column(
mainAxisSize: MainAxisSize.min,
children: [
Row(
children: [
TextButton(
onPressed: () {
Navigator.pop(context);
},
child: Text(S.of(context).cancel)),
const Expanded(child: SizedBox()),
TextButton(
onPressed: () {
onSelect(pickTime);
Navigator.pop(context);
},
child: Text(S.of(context).sure)),
],
),
const Divider(
height: 1,
color: CommonColors.color_666666,
),
SizedBox(
height: 229,
child: CupertinoDatePicker(
mode: CupertinoDatePickerMode.date,
minimumDate: DateTime(1900, 1, 1, 0, 0),
maximumDate: DateTime.now(),
initialDateTime:
DateTime.tryParse(pickTime) ?? DateTime.now(),
onDateTimeChanged: (dateTime) {
pickTime = outputFormat.format(dateTime);
},
),
)
],
),
));
}