From 3cdc1dc1690d6ed4e11972c05506f198a11a015e Mon Sep 17 00:00:00 2001 From: Ali Date: Sat, 23 Nov 2024 17:52:12 +0100 Subject: [PATCH] delete all kinda stuff delete function implemented on pressed -> pop up => are you sure about that? yes: all rating from all pages will be cleared no: nothing happens, pop closes --- lib/main.dart | 54 ++++++++++++++++--- lib/providers/ambienteProvider.dart | 7 +++ lib/providers/anmerkungProvider.dart | 7 +++ lib/providers/essenProvider.dart | 7 +++ lib/providers/serviceProvider.dart | 7 +++ .../spezielleErnaehrungProvider.dart | 7 +++ 6 files changed, 83 insertions(+), 6 deletions(-) diff --git a/lib/main.dart b/lib/main.dart index a08e2bd..5176890 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -63,6 +63,45 @@ class MyApp extends StatelessWidget { class MyHome extends StatelessWidget { const MyHome({super.key}); + void _showDeleteDialog(BuildContext context) { + showDialog( + context: context, + builder: (BuildContext context) { + return AlertDialog( + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(20), + ), + title: const Text("Bewertungen löschen"), + content: const Text("Möchtest du alle Eingaben entfernen?", + style: TextStyle(fontSize: 18),), + actions: [ + ElevatedButton( + onPressed: () { + Navigator.of(context).pop(); + }, + child: Text("Behalten"), + style: ElevatedButton.styleFrom( + backgroundColor: Theme.of(context).colorScheme.secondary + ), + ), + ElevatedButton( + onPressed: () { + Provider.of(context, listen: false).resetAllFields(); + Provider.of(context, listen: false).resetAllFields(); + Provider.of(context, listen: false).resetAllFields(); + Provider.of(context, listen: false).resetAllFields(); + Provider.of(context, listen: false).resetAllFields(); + + // Hier Aktion für Löschen ausführen + Navigator.of(context).pop(); // Dialog schließen + }, + child: Text("Löschen"), + ) + ], + ); + }, + ); + } @override Widget build(BuildContext context) { @@ -146,17 +185,20 @@ class MyHome extends StatelessWidget { bottom: 10, child: IconButton.filled( padding: const EdgeInsets.all(15), - onPressed: () {}, + onPressed: () { + _showDeleteDialog(context); // Dialog anzeigen + }, icon: const Icon( Icons.delete, size: 30, ), style: ButtonStyle( - shape: WidgetStateProperty.all(RoundedRectangleBorder( - borderRadius: BorderRadius.circular(17))), - backgroundColor: WidgetStateProperty.all( - Theme.of(context).colorScheme.primary, - )), + shape: WidgetStateProperty.all(RoundedRectangleBorder( + borderRadius: BorderRadius.circular(17))), + backgroundColor: WidgetStateProperty.all( + Theme.of(context).colorScheme.primary, + ), + ), ), ) ], diff --git a/lib/providers/ambienteProvider.dart b/lib/providers/ambienteProvider.dart index ffff5cf..8295fc8 100644 --- a/lib/providers/ambienteProvider.dart +++ b/lib/providers/ambienteProvider.dart @@ -19,4 +19,11 @@ class AmbienteProvider extends ChangeNotifier { freiText = text; notifyListeners(); } + + void resetAllFields(){ + freiText = ""; + ratingFrage1 = 0; + ratingFrage2 = 0; + notifyListeners(); + } } \ No newline at end of file diff --git a/lib/providers/anmerkungProvider.dart b/lib/providers/anmerkungProvider.dart index 3fef7f9..3446628 100644 --- a/lib/providers/anmerkungProvider.dart +++ b/lib/providers/anmerkungProvider.dart @@ -19,4 +19,11 @@ class AnmerkungProvider extends ChangeNotifier { freiText = text; notifyListeners(); } + + void resetAllFields(){ + freiText = ""; + ratingFrage1 = 0; + ratingFrage2 = 0; + notifyListeners(); + } } \ No newline at end of file diff --git a/lib/providers/essenProvider.dart b/lib/providers/essenProvider.dart index c37a28a..dd6ce53 100644 --- a/lib/providers/essenProvider.dart +++ b/lib/providers/essenProvider.dart @@ -19,4 +19,11 @@ class EssenProvider extends ChangeNotifier { freiText = text; notifyListeners(); } + + void resetAllFields(){ + freiText = ""; + ratingGeschmack = 0; + ratingQuali = 0; + notifyListeners(); + } } \ No newline at end of file diff --git a/lib/providers/serviceProvider.dart b/lib/providers/serviceProvider.dart index 5620c0d..37d3f47 100644 --- a/lib/providers/serviceProvider.dart +++ b/lib/providers/serviceProvider.dart @@ -19,4 +19,11 @@ class ServiceProvider extends ChangeNotifier { freiText = text; notifyListeners(); } + + void resetAllFields(){ + freiText = ""; + ratingFrage1 = 0; + ratingFrage2 = 0; + notifyListeners(); + } } \ No newline at end of file diff --git a/lib/providers/spezielleErnaehrungProvider.dart b/lib/providers/spezielleErnaehrungProvider.dart index 8ef98a1..6512324 100644 --- a/lib/providers/spezielleErnaehrungProvider.dart +++ b/lib/providers/spezielleErnaehrungProvider.dart @@ -20,4 +20,11 @@ class SpezielleErnaehrungProvider extends ChangeNotifier { freiText = text; notifyListeners(); } + + void resetAllFields(){ + freiText = ""; + ratingSitzmoeglichkeit = 0; + ratingKeineAhnung = 0; + notifyListeners(); + } } \ No newline at end of file