summaryrefslogtreecommitdiff
path: root/lib/screens/new_event_screen.dart
diff options
context:
space:
mode:
Diffstat (limited to 'lib/screens/new_event_screen.dart')
-rw-r--r--lib/screens/new_event_screen.dart24
1 files changed, 19 insertions, 5 deletions
diff --git a/lib/screens/new_event_screen.dart b/lib/screens/new_event_screen.dart
index 3c49ee6..2e8b52f 100644
--- a/lib/screens/new_event_screen.dart
+++ b/lib/screens/new_event_screen.dart
@@ -14,11 +14,13 @@ class NewEventScreen extends StatefulWidget {
class _NewEventScreenState extends State<NewEventScreen> {
Event? event;
+ bool isEventSet = false;
DateTime? selectedDate;
DatabaseHelper helper = DatabaseHelper();
final _descController = TextEditingController();
final _formKey = GlobalKey<FormState>();
+ bool completed = false;
final padding = 12.0;
Widget get spacer => SizedBox(height: padding, width: padding);
@@ -26,11 +28,13 @@ class _NewEventScreenState extends State<NewEventScreen> {
@override
Widget build(BuildContext context) {
event = ModalRoute.of(context)?.settings.arguments as Event?;
- if (event != null) {
+ if (event != null && !isEventSet) {
_descController.text = event!.description;
setState(() {
selectedDate = event!.date;
+ completed = event!.completed;
});
+ isEventSet = true;
}
EventsProvider provider = Provider.of<EventsProvider>(context);
@@ -54,7 +58,7 @@ class _NewEventScreenState extends State<NewEventScreen> {
helper.insert('events', {
'description': _descController.text,
'date': selectedDate!.toIso8601String(),
- 'completed': false, // TODO: implement checkbox
+ 'completed': completed == true ? 1 : 0,
}).then((value) {
SnackBar bar = SnackBar(
content: Text(
@@ -73,7 +77,7 @@ class _NewEventScreenState extends State<NewEventScreen> {
{
'description': _descController.text,
'date': selectedDate!.toIso8601String(),
- 'completed': false,
+ 'completed': completed == true ? 1 : 0,
},
'id',
event!.id,
@@ -115,14 +119,24 @@ class _NewEventScreenState extends State<NewEventScreen> {
},
),
spacer,
+ CheckboxListTile(
+ value: completed,
+ title: const Text('Completado'),
+ onChanged: (value) {
+ setState(() {
+ completed = value == true;
+ });
+ },
+ ),
+ spacer,
OutlinedButton(
child: Text(selectedDate != null
? selectedDate!.toIso8601String()
: 'Seleccionar fecha'),
onPressed: () {
showDatePicker(
- initialDate: DateTime.now(),
- firstDate: DateTime.now(),
+ initialDate: selectedDate ?? DateTime.now(),
+ firstDate: DateTime.fromMicrosecondsSinceEpoch(0),
lastDate: DateTime.utc(9000, 12, 31),
currentDate: DateTime.now(),
initialEntryMode: DatePickerEntryMode.calendar,