From a457d3dd24aec0370ae6286caa075b1d6addd609 Mon Sep 17 00:00:00 2001 From: Fabian Freund Date: Wed, 11 Mar 2026 13:06:59 +0100 Subject: [PATCH] added button to reset all preferences --- .../screens/web_engine_hardening.dart | 54 ++++++++++++++++++- 1 file changed, 53 insertions(+), 1 deletion(-) diff --git a/app/lib/features/settings/presentation/screens/web_engine_hardening.dart b/app/lib/features/settings/presentation/screens/web_engine_hardening.dart index b77bb7b8..03828f5d 100644 --- a/app/lib/features/settings/presentation/screens/web_engine_hardening.dart +++ b/app/lib/features/settings/presentation/screens/web_engine_hardening.dart @@ -49,7 +49,59 @@ class WebEngineHardeningScreen extends HookConsumerWidget { final theme = Theme.of(context); return Scaffold( - appBar: AppBar(title: const Text('Web Engine Hardening')), + appBar: AppBar( + title: const Text('Web Engine Hardening'), + actions: [ + MenuAnchor( + menuChildren: [ + MenuItemButton( + leadingIcon: const Icon(Icons.restore), + child: const Text('Reset all preferences'), + onPressed: () async { + final confirmed = await showDialog( + context: context, + builder: (context) => AlertDialog( + title: const Text('Reset all preferences?'), + content: const Text( + 'This will reset all user-defined web engine preferences to their defaults.', + ), + actions: [ + TextButton( + onPressed: () => Navigator.of(context).pop(false), + child: const Text('Cancel'), + ), + TextButton( + onPressed: () => Navigator.of(context).pop(true), + child: const Text('Reset'), + ), + ], + ), + ); + if (confirmed == true) { + await ref + .read( + unifiedPreferenceSettingsRepositoryProvider( + PreferencePartition.user, + ).notifier, + ) + .reset(); + } + }, + ), + ], + builder: (context, controller, child) => IconButton( + icon: const Icon(Icons.more_vert), + onPressed: () { + if (controller.isOpen) { + controller.close(); + } else { + controller.open(); + } + }, + ), + ), + ], + ), body: preferenceGroups.when( skipLoadingOnReload: true, data: (data) {