diff options
Diffstat (limited to 'lib/pages/settings_page.dart')
| -rw-r--r-- | lib/pages/settings_page.dart | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/lib/pages/settings_page.dart b/lib/pages/settings_page.dart new file mode 100644 index 0000000..08dbaf4 --- /dev/null +++ b/lib/pages/settings_page.dart @@ -0,0 +1,58 @@ +import 'package:flutter/material.dart'; +import 'package:training_planner/main.dart'; +import 'package:training_planner/services/settings_service.dart'; +import 'package:training_planner/style/style.dart'; + +class SettingsPage extends StatefulWidget { + final Settings settings; + + @override + _SettingsPageState createState() => _SettingsPageState(); + + const SettingsPage({Key? key, required this.settings}) : super(key: key); +} + +class _SettingsPageState extends State<SettingsPage> { + @override + initState() { + super.initState(); + } + + Future<void> saveSettings() async { + settingsService.writeSettingsToFile(widget.settings); + Navigator.pop(context); + } + + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: AppBar( + title: Text('Instellingen'), + backgroundColor: Style.background, + foregroundColor: Style.titleColor, + ), + body: Center( + child: Padding( + padding: const EdgeInsets.all(50), + child: Column( + children: [ + TextFormField( + keyboardType: TextInputType.number, + initialValue: widget.settings.salary.toStringAsFixed(2), + onChanged: (value) => + {widget.settings.salary = double.parse(value)}, + decoration: InputDecoration( + labelText: 'Huidige uurloon', + ), + ), + Padding(padding: const EdgeInsets.all(20)), + TextButton( + onPressed: () async => await saveSettings(), + child: Text('Opslaan')), + ], + ), + ), + ), + ); + } +} |
