From 9db49a4164ff15810b5d2298fd8c1f1c020d76c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mike=20Schw=C3=B6rer?= Date: Sat, 3 May 2025 23:00:12 +0200 Subject: [PATCH] improve delete-key flow --- flutter/lib/pages/keytoken_list/keytoken_list.dart | 7 ++++++- flutter/lib/pages/keytoken_list/keytoken_list_item.dart | 4 +++- flutter/lib/pages/keytoken_view/keytoken_view.dart | 2 +- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/flutter/lib/pages/keytoken_list/keytoken_list.dart b/flutter/lib/pages/keytoken_list/keytoken_list.dart index 493191e..0b058a1 100644 --- a/flutter/lib/pages/keytoken_list/keytoken_list.dart +++ b/flutter/lib/pages/keytoken_list/keytoken_list.dart @@ -79,7 +79,7 @@ class _KeyTokenListPageState extends State { child: PagedListView( pagingController: _pagingController, builderDelegate: PagedChildBuilderDelegate( - itemBuilder: (context, item, index) => KeyTokenListItem(item: item), + itemBuilder: (context, item, index) => KeyTokenListItem(item: item, needsReload: _fullRefresh), ), ), ), @@ -107,4 +107,9 @@ class _KeyTokenListPageState extends State { builder: (context) => KeyTokenCreatedModal(keytoken: token, tokenValue: tokValue), ); } + + void _fullRefresh() { + ApplicationLog.debug('KeytokenListPage::fullRefresh'); + _pagingController.refresh(); + } } diff --git a/flutter/lib/pages/keytoken_list/keytoken_list_item.dart b/flutter/lib/pages/keytoken_list/keytoken_list_item.dart index f3f2b0b..be53a8d 100644 --- a/flutter/lib/pages/keytoken_list/keytoken_list_item.dart +++ b/flutter/lib/pages/keytoken_list/keytoken_list_item.dart @@ -17,10 +17,12 @@ enum KeyTokenListItemMode { class KeyTokenListItem extends StatelessWidget { const KeyTokenListItem({ required this.item, + required this.needsReload, super.key, }); final KeyToken item; + final void Function()? needsReload; @override Widget build(BuildContext context) { @@ -32,7 +34,7 @@ class KeyTokenListItem extends StatelessWidget { color: Theme.of(context).cardTheme.color, child: InkWell( onTap: () { - Navi.push(context, () => KeyTokenViewPage(keytokenID: item.keytokenID, preloadedData: item, needsReload: null)); + Navi.push(context, () => KeyTokenViewPage(keytokenID: item.keytokenID, preloadedData: item, needsReload: needsReload)); }, child: Padding( padding: const EdgeInsets.all(8), diff --git a/flutter/lib/pages/keytoken_view/keytoken_view.dart b/flutter/lib/pages/keytoken_view/keytoken_view.dart index e7b0401..467fd37 100644 --- a/flutter/lib/pages/keytoken_view/keytoken_view.dart +++ b/flutter/lib/pages/keytoken_view/keytoken_view.dart @@ -535,7 +535,7 @@ class _KeyTokenViewPageState extends State { } try { - final r = await UIDialogs.showConfirmDialog(context, 'Really (permanently) delete this Key?', okText: 'Unsubscribe', cancelText: 'Cancel'); + final r = await UIDialogs.showConfirmDialog(context, 'Really (permanently) delete this Key?', okText: 'Delete', cancelText: 'Cancel'); if (!r) return; await APIClient.deleteKeyToken(acc, keytokenPreview!.keytokenID);