diff options
| author | Aldrik Ramaekers <aldrik@amftech.nl> | 2022-08-17 11:09:46 +0200 |
|---|---|---|
| committer | Aldrik Ramaekers <aldrik@amftech.nl> | 2022-08-17 11:09:46 +0200 |
| commit | 9649d80a2b0a0c46a8ae68606d3e0cfe6f49faee (patch) | |
| tree | bf4f9598e526f8a6991a5045c42a18e07fac29e1 /lib/pages/add_shift_page.dart | |
| parent | 72aa769bc32bb920bd255e68d6ad508e8543a398 (diff) | |
v0.1
Diffstat (limited to 'lib/pages/add_shift_page.dart')
| -rw-r--r-- | lib/pages/add_shift_page.dart | 156 |
1 files changed, 0 insertions, 156 deletions
diff --git a/lib/pages/add_shift_page.dart b/lib/pages/add_shift_page.dart deleted file mode 100644 index 21bdbf0..0000000 --- a/lib/pages/add_shift_page.dart +++ /dev/null @@ -1,156 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:training_planner/pages/agenda_page.dart'; -import 'package:training_planner/pages/home_page.dart'; -import 'package:training_planner/shift.dart'; -import 'package:training_planner/main.dart'; -import 'package:training_planner/style/style.dart'; - -class AddShiftPage extends StatefulWidget { - final int pageNr; - final int pageIndex; - final DateTime mondayOfWeek; - final Function updateParent; - - @override - _AddShiftPageState createState() => _AddShiftPageState(); - - const AddShiftPage({ - Key? key, - required this.pageNr, - required this.pageIndex, - required this.mondayOfWeek, - required this.updateParent, - }) : super(key: key); -} - -class _AddShiftPageState extends State<AddShiftPage> { - @override - initState() { - super.initState(); - } - - String dropdownValue = 'Maandag'; - List<bool> isSelected = [false, true, false]; - - Future<void> addShift() async { - DateTime startDate = widget.mondayOfWeek; - switch (dropdownValue) { - case 'Maandag': - startDate = startDate.add(Duration(days: 0)); - break; - case 'Dinsdag': - startDate = startDate.add(Duration(days: 1)); - break; - case 'Woensdag': - startDate = startDate.add(Duration(days: 2)); - break; - case 'Donderdag': - startDate = startDate.add(Duration(days: 3)); - break; - case 'Vrijdag': - startDate = startDate.add(Duration(days: 4)); - break; - case 'Zaterdag': - startDate = startDate.add(Duration(days: 5)); - break; - case 'Zondag': - startDate = startDate.add(Duration(days: 6)); - break; - } - - ShiftType type = ShiftType.Dagrit; - if (isSelected[1]) type = ShiftType.Avondrit; - if (isSelected[2]) type = ShiftType.Terugscannen; - - switch (type) { - case ShiftType.Dagrit: - startDate = startDate.add(Duration(hours: 10)); - break; - case ShiftType.Avondrit: - startDate = startDate.add(Duration( - hours: startDate.weekday == 6 ? 15 : 17, - minutes: startDate.weekday == 6 ? 30 : 0)); - break; - case ShiftType.Terugscannen: - startDate = startDate.add( - Duration(hours: startDate.weekday == 6 ? 13 : 14, minutes: 30)); - break; - } - - await shiftProvider.addShift(Shift(start: startDate, type: type)); - widget.updateParent(); - Navigator.pop(context); - } - - @override - Widget build(BuildContext context) { - return Scaffold( - appBar: AppBar( - title: Text('Toevoegen aan planning #' + widget.pageNr.toString()), - backgroundColor: Style.background, - foregroundColor: Style.titleColor, - ), - body: Center( - child: Column( - children: [ - Padding(padding: const EdgeInsets.all(20)), - Container( - width: 200, - child: DropdownButton<String>( - value: dropdownValue, - icon: const Icon(Icons.arrow_downward), - elevation: 16, - style: const TextStyle(color: Colors.black), - underline: Container( - height: 2, - color: Colors.black, - ), - onChanged: (String? newValue) { - setState(() { - dropdownValue = newValue!; - }); - }, - items: <String>[ - 'Maandag', - 'Dinsdag', - 'Woensdag', - 'Donderdag', - 'Vrijdag', - 'Zaterdag', - 'Zondag' - ].map<DropdownMenuItem<String>>((String value) { - return DropdownMenuItem<String>( - value: value, - child: Text(value), - ); - }).toList(), - ), - ), - Padding(padding: const EdgeInsets.all(20)), - ToggleButtons( - children: <Widget>[ - Padding( - padding: const EdgeInsets.all(15), child: Text('Dagrit')), - Padding( - padding: const EdgeInsets.all(15), child: Text('Avondrit')), - Padding( - padding: const EdgeInsets.all(15), - child: Text('Terugscan')), - ], - onPressed: (int index) { - setState(() { - isSelected[index] = !isSelected[index]; - }); - }, - isSelected: isSelected, - ), - Padding( - padding: const EdgeInsets.all(20), - ), - TextButton( - onPressed: () async => {await addShift()}, - child: Text('Toevoegen')), - ], - ))); - } -} |
