cpd_2022_zi/lib/widgets/submit_form_button.dart

43 lines
1.4 KiB
Dart
Raw Normal View History

2023-02-27 20:02:15 +01:00
import 'package:awesome_dialog/awesome_dialog.dart';
2023-02-15 23:28:19 +01:00
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import 'package:smoke_cess_app/providers/page_provider.dart';
2023-02-15 23:28:19 +01:00
class SubmitFormButton extends StatelessWidget {
2023-02-27 20:02:15 +01:00
final Future<int> Function() submitCallback;
2023-03-02 20:16:46 +01:00
final void Function() updateTasks;
const SubmitFormButton(
{super.key, required this.submitCallback, required this.updateTasks});
2023-02-15 23:28:19 +01:00
@override
Widget build(BuildContext context) {
PageProvider pageProvider = context.watch<PageProvider>();
2023-02-15 23:28:19 +01:00
return Padding(
padding: const EdgeInsets.symmetric(vertical: 16.0),
child: ElevatedButton(
2023-02-27 20:02:15 +01:00
onPressed: () async {
int success = await submitCallback();
2023-03-02 20:16:46 +01:00
if (success != 0) {
await AwesomeDialog(
2023-03-02 20:16:46 +01:00
context: context,
dialogType: DialogType.success,
title: 'Gespeichert',
desc: 'Der Eintrag wurde erfolgreich gespeichert',
).show();
updateTasks();
pageProvider.swap();
2023-03-02 20:16:46 +01:00
} else {
await AwesomeDialog(
2023-03-02 20:16:46 +01:00
context: context,
dialogType: DialogType.error,
title: 'Fehler',
desc: 'Der Eintrag konnte nicht gespeichert werden',
).show();
}
2023-02-27 20:02:15 +01:00
},
2023-02-15 23:28:19 +01:00
child: const Text('Speichern'),
),
);
}
}