From b0f29c28718e436b81a3dde22feb56c1731b31ad Mon Sep 17 00:00:00 2001 From: Dennis Loose Date: Thu, 10 Aug 2023 07:50:45 +0000 Subject: [PATCH] feat: add 'show details' action to manage page (#1322) * feat: add 'show details' action to manage page Just a single item in the dropdown for the MVP * simplify 'onPressed' --- lib/src/detail/detail_page.dart | 8 +------- lib/src/l10n/app_en.arb | 1 + lib/src/manage/manage_page.dart | 18 ++++++++++++++---- 3 files changed, 16 insertions(+), 11 deletions(-) diff --git a/lib/src/detail/detail_page.dart b/lib/src/detail/detail_page.dart index 856d5d68f..e743de903 100644 --- a/lib/src/detail/detail_page.dart +++ b/lib/src/detail/detail_page.dart @@ -292,13 +292,7 @@ class _SnapActionButtons extends ConsumerWidget { ); }).toList(), builder: (context, controller, child) => YaruOptionButton( - onPressed: () { - if (controller.isOpen) { - controller.close(); - } else { - controller.open(); - } - }, + onPressed: controller.isOpen ? controller.close : controller.open, child: const Icon(YaruIcons.view_more_horizontal), ), ); diff --git a/lib/src/l10n/app_en.arb b/lib/src/l10n/app_en.arb index 6f7c128e8..88e5f990c 100644 --- a/lib/src/l10n/app_en.arb +++ b/lib/src/l10n/app_en.arb @@ -26,6 +26,7 @@ "managePageInstalledAndUpdatedLabel": "Installed and updated", "managePageLabel": "Manage", "managePageNoUpdatesAvailableDescription": "No updates available. Your applications are all up to date.", + "managePageShowDetailsLabel": "Show details", "managePageUpdateAllLabel": "Update All", "managePageUpdatedDaysAgo": "Updated {n} days ago", "@managePageUpdatedDaysAgo": { diff --git a/lib/src/manage/manage_page.dart b/lib/src/manage/manage_page.dart index 1fbb22cf6..c67f949c7 100644 --- a/lib/src/manage/manage_page.dart +++ b/lib/src/manage/manage_page.dart @@ -337,10 +337,20 @@ class _ManageSnapTile extends ConsumerWidget { child: Text(l10n.snapActionOpenLabel), ), ), - // TODO: seconday actions - YaruOptionButton( - onPressed: () {}, - child: const Icon(YaruIcons.view_more_horizontal), + MenuAnchor( + menuChildren: [ + MenuItemButton( + onPressed: () => StoreNavigator.pushDetail(context, snap.name), + child: Text( + l10n.managePageShowDetailsLabel, + style: Theme.of(context).textTheme.bodyMedium, + ), + ) + ], + builder: (context, controller, child) => YaruOptionButton( + onPressed: controller.isOpen ? controller.close : controller.open, + child: const Icon(YaruIcons.view_more_horizontal), + ), ) ], ),