From 7c2480f0270631705a6ee08ec5e404c5809aeca5 Mon Sep 17 00:00:00 2001 From: lollipopkit Date: Sun, 3 Dec 2023 14:14:30 +0800 Subject: [PATCH] fix: servers batch del --- lib/view/page/setting/entry.dart | 48 ++++++++++++++++++-------------- 1 file changed, 27 insertions(+), 21 deletions(-) diff --git a/lib/view/page/setting/entry.dart b/lib/view/page/setting/entry.dart index 1040fa59..9c53931f 100644 --- a/lib/view/page/setting/entry.dart +++ b/lib/view/page/setting/entry.dart @@ -905,30 +905,36 @@ class _SettingPageState extends State { title: Text(l10n.deleteServers), trailing: const Icon(Icons.delete_forever), onTap: () async { - final all = Stores.server.box.keys.map( - (e) => TextButton( - onPressed: () => context.showRoundDialog( - title: Text(l10n.attention), - child: Text(l10n.askContinue( - '${l10n.delete} ${l10n.server}($e)', - )), - actions: [ - TextButton( - onPressed: () => Pros.server.delServer(e), - child: Text(l10n.ok), - ) - ], - ), - child: Text(e), - ), - ); context.showRoundDialog>( title: Text(l10n.choose), child: SingleChildScrollView( - child: Column( - mainAxisSize: MainAxisSize.min, - children: all.toList(), - ), + child: StatefulBuilder(builder: (ctx, setState) { + final all = Stores.server.box.keys.map( + (e) => TextButton( + onPressed: () => context.showRoundDialog( + title: Text(l10n.attention), + child: Text(l10n.askContinue( + '${l10n.delete} ${l10n.server}($e)', + )), + actions: [ + TextButton( + onPressed: () { + Pros.server.delServer(e); + ctx.pop(); + setState(() {}); + }, + child: Text(l10n.ok), + ) + ], + ), + child: Text(e), + ), + ); + return Column( + mainAxisSize: MainAxisSize.min, + children: all.toList(), + ); + }), ), ); },