fix: switched to more user friendly datetimerange
This commit is contained in:
parent
d16d1e2778
commit
6ed99248b3
2 changed files with 24 additions and 69 deletions
|
|
@ -61,32 +61,21 @@ class _EditPopup extends State<EditPopup> {
|
||||||
final GlobalKey<FormState> _formKey = GlobalKey<FormState>();
|
final GlobalKey<FormState> _formKey = GlobalKey<FormState>();
|
||||||
String? name;
|
String? name;
|
||||||
DateTime? start;
|
DateTime? start;
|
||||||
Future<void> _selectStart() async {
|
|
||||||
final DateTime? pickedDate = await showDatePicker(
|
|
||||||
context: context,
|
|
||||||
initialDate: start ?? widget.viewModel.bal!.startTime,
|
|
||||||
firstDate: DateTime.now(),
|
|
||||||
lastDate: DateTime(DateTime.now().year + 2),
|
|
||||||
locale: Locale("fr", "FR"),
|
|
||||||
);
|
|
||||||
|
|
||||||
setState(() {
|
|
||||||
start = pickedDate;
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
DateTime? end;
|
DateTime? end;
|
||||||
Future<void> _selectEnd() async {
|
Future<void> _selectRange() async {
|
||||||
final DateTime? pickedDate = await showDatePicker(
|
final DateTimeRange? pickedDate = await showDateRangePicker(
|
||||||
context: context,
|
context: context,
|
||||||
initialDate: end ?? widget.viewModel.bal!.endTime,
|
firstDate: DateTime(DateTime.now().year - 1),
|
||||||
firstDate: DateTime.now(),
|
|
||||||
lastDate: DateTime(DateTime.now().year + 2),
|
lastDate: DateTime(DateTime.now().year + 2),
|
||||||
locale: Locale("fr", "FR"),
|
initialDateRange: DateTimeRange(
|
||||||
|
start: start ?? widget.viewModel.bal!.startTime,
|
||||||
|
end: end ?? widget.viewModel.bal!.endTime,
|
||||||
|
),
|
||||||
);
|
);
|
||||||
|
|
||||||
setState(() {
|
setState(() {
|
||||||
end = pickedDate;
|
start = pickedDate?.start;
|
||||||
|
end = pickedDate?.end;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -125,24 +114,10 @@ class _EditPopup extends State<EditPopup> {
|
||||||
Text("Date de début : "),
|
Text("Date de début : "),
|
||||||
TextButton(
|
TextButton(
|
||||||
onPressed: () {
|
onPressed: () {
|
||||||
_selectStart();
|
_selectRange();
|
||||||
},
|
},
|
||||||
child: Text(
|
child: Text(
|
||||||
format.format(start ?? widget.viewModel.bal!.startTime),
|
"Du ${format.format(start ?? DateTime.now())}\nau ${format.format(end ?? DateTime.now().add(Duration(days: 1)))}",
|
||||||
locale: Locale("fr"),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
Row(
|
|
||||||
children: [
|
|
||||||
Text("Date de fin : "),
|
|
||||||
TextButton(
|
|
||||||
onPressed: () {
|
|
||||||
_selectEnd();
|
|
||||||
},
|
|
||||||
child: Text(
|
|
||||||
format.format(end ?? widget.viewModel.bal!.endTime),
|
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
|
|
|
||||||
|
|
@ -17,32 +17,21 @@ class _CreateConfirmationPopupState extends State<CreateConfirmationPopup> {
|
||||||
final GlobalKey<FormState> _formKey = GlobalKey<FormState>();
|
final GlobalKey<FormState> _formKey = GlobalKey<FormState>();
|
||||||
String? name;
|
String? name;
|
||||||
DateTime? start;
|
DateTime? start;
|
||||||
Future<void> _selectStart() async {
|
|
||||||
final DateTime? pickedDate = await showDatePicker(
|
|
||||||
context: context,
|
|
||||||
initialDate: start ?? DateTime.now(),
|
|
||||||
firstDate: DateTime.now(),
|
|
||||||
lastDate: DateTime(DateTime.now().year + 2),
|
|
||||||
locale: Locale("fr"),
|
|
||||||
);
|
|
||||||
|
|
||||||
setState(() {
|
|
||||||
start = pickedDate;
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
DateTime? end;
|
DateTime? end;
|
||||||
Future<void> _selectEnd() async {
|
Future<void> _selectRange() async {
|
||||||
final DateTime? pickedDate = await showDatePicker(
|
final DateTimeRange? pickedDate = await showDateRangePicker(
|
||||||
context: context,
|
context: context,
|
||||||
initialDate: end ?? DateTime.now(),
|
firstDate: DateTime(DateTime.now().year - 1),
|
||||||
firstDate: DateTime.now(),
|
|
||||||
lastDate: DateTime(DateTime.now().year + 2),
|
lastDate: DateTime(DateTime.now().year + 2),
|
||||||
locale: Locale("fr"),
|
initialDateRange: DateTimeRange(
|
||||||
|
start: start ?? DateTime.now(),
|
||||||
|
end: end ?? DateTime.now().add(Duration(days: 1)),
|
||||||
|
),
|
||||||
);
|
);
|
||||||
|
|
||||||
setState(() {
|
setState(() {
|
||||||
end = pickedDate;
|
start = pickedDate?.start;
|
||||||
|
end = pickedDate?.end;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -80,20 +69,11 @@ class _CreateConfirmationPopupState extends State<CreateConfirmationPopup> {
|
||||||
Text("Date de début : "),
|
Text("Date de début : "),
|
||||||
TextButton(
|
TextButton(
|
||||||
onPressed: () {
|
onPressed: () {
|
||||||
_selectStart();
|
_selectRange();
|
||||||
},
|
},
|
||||||
child: Text(format.format(start ?? DateTime.now())),
|
child: Text(
|
||||||
),
|
"Du ${format.format(start ?? DateTime.now())}\nau ${format.format(end ?? DateTime.now().add(Duration(days: 1)))}",
|
||||||
],
|
),
|
||||||
),
|
|
||||||
Row(
|
|
||||||
children: [
|
|
||||||
Text("Date de fin : "),
|
|
||||||
TextButton(
|
|
||||||
onPressed: () {
|
|
||||||
_selectEnd();
|
|
||||||
},
|
|
||||||
child: Text(format.format(end ?? DateTime.now())),
|
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
|
|
|
||||||
Reference in a new issue