From 9fbb357b32774f73aff5d441ad0d2c899fbc5037 Mon Sep 17 00:00:00 2001 From: ZhuchkaTriplesix Date: Sun, 11 Oct 2026 12:01:54 +0300 Subject: [PATCH] fix(ui): export and copy menu buttons have one chevron MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit QueryaMenuButton draws its own chevron, so the literal '▾' in the labels of ExportMenuButton callers showed two. The labels are plain text again; the tests that found 'Export ▾' and 'Save File ▾' look for the plain labels. --- lib/features/extensions/extension_table_toolbar.dart | 4 ++-- lib/features/workspace/results_tab.dart | 4 ++-- test/features/workspace/generic_table_view_export_test.dart | 2 +- test/features/workspace/results_tab_test.dart | 6 +++--- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/lib/features/extensions/extension_table_toolbar.dart b/lib/features/extensions/extension_table_toolbar.dart index e95f7762..2636f663 100644 --- a/lib/features/extensions/extension_table_toolbar.dart +++ b/lib/features/extensions/extension_table_toolbar.dart @@ -149,7 +149,7 @@ class ExtensionTableToolbar extends material.StatelessWidget { if (onCopyFormat != null) ...[ const Gap(4), ExportMenuButton( - label: 'Copy ▾', + label: 'Copy', icon: material.Icons.copy_rounded, isSave: false, onSelected: onCopyFormat!, @@ -158,7 +158,7 @@ class ExtensionTableToolbar extends material.StatelessWidget { if (onSaveFormat != null) ...[ const Gap(4), ExportMenuButton( - label: 'Export ▾', + label: 'Export', icon: material.Icons.file_download_outlined, isSave: true, onSelected: onSaveFormat!, diff --git a/lib/features/workspace/results_tab.dart b/lib/features/workspace/results_tab.dart index 7313cd84..d16b90ab 100644 --- a/lib/features/workspace/results_tab.dart +++ b/lib/features/workspace/results_tab.dart @@ -495,14 +495,14 @@ class _ResultsTabState extends material.State { const Gap(8), ExportMenuButton( - label: 'Export ▾', + label: 'Export', icon: material.Icons.copy_rounded, isSave: false, onSelected: (format) => unawaited(_copyAs(format)), ), const Gap(6), ExportMenuButton( - label: 'Save File ▾', + label: 'Save File', icon: material.Icons.download_rounded, isSave: true, onSelected: (format) { diff --git a/test/features/workspace/generic_table_view_export_test.dart b/test/features/workspace/generic_table_view_export_test.dart index 925d9632..d54e9f71 100644 --- a/test/features/workspace/generic_table_view_export_test.dart +++ b/test/features/workspace/generic_table_view_export_test.dart @@ -29,7 +29,7 @@ void main() { } Future copyAs(WidgetTester tester, String menuLabel) async { - await tester.tap(find.text('Export ▾')); + await tester.tap(find.text('Export')); await tester.pump(); await tester.pump(const Duration(milliseconds: 500)); await tester.tap(find.text(menuLabel)); diff --git a/test/features/workspace/results_tab_test.dart b/test/features/workspace/results_tab_test.dart index 12bfbde5..ef7e7214 100644 --- a/test/features/workspace/results_tab_test.dart +++ b/test/features/workspace/results_tab_test.dart @@ -1122,7 +1122,7 @@ void main() { buffer.dispose(); }); - testWidgets('ResultsTab renders Export ▾ button with file export options', (tester) async { + testWidgets('ResultsTab renders Export button with file export options', (tester) async { final rows = [ ['1', 'Alice'], ]; @@ -1143,8 +1143,8 @@ void main() { ); await tester.pumpAndSettle(); - expect(find.text('Export ▾'), findsOneWidget); - expect(find.text('Save File ▾'), findsOneWidget); + expect(find.text('Export'), findsOneWidget); + expect(find.text('Save File'), findsOneWidget); }); testWidgets('ResultsTab toggles filter bar and closes it when close button or Escape is triggered', (tester) async {