diff options
Diffstat (limited to 'lib/screens/new_event_screen.dart')
-rw-r--r-- | lib/screens/new_event_screen.dart | 24 |
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, |