diff --git a/lib/widgets/assistant_artifact_sidebar.dart b/lib/widgets/assistant_artifact_sidebar.dart index 308c5b16..19b6d220 100644 --- a/lib/widgets/assistant_artifact_sidebar.dart +++ b/lib/widgets/assistant_artifact_sidebar.dart @@ -401,6 +401,10 @@ class _AssistantArtifactSidebarState extends State { class AssistantArtifactSidebarRevealButton extends StatelessWidget { const AssistantArtifactSidebarRevealButton({super.key, required this.onTap}); + static const double _buttonWidth = 32; + static const double _buttonHeight = 36; + static const double _buttonRadius = 8; + final VoidCallback onTap; @override @@ -411,10 +415,10 @@ class AssistantArtifactSidebarRevealButton extends StatelessWidget { child: InkWell( key: const Key('assistant-artifact-pane-toggle'), onTap: onTap, - borderRadius: BorderRadius.circular(AppRadius.sidebar), + borderRadius: BorderRadius.circular(_buttonRadius), child: Container( - width: 44, - height: 56, + width: _buttonWidth, + height: _buttonHeight, decoration: BoxDecoration( gradient: LinearGradient( begin: Alignment.topLeft, @@ -424,7 +428,7 @@ class AssistantArtifactSidebarRevealButton extends StatelessWidget { palette.chromeSurface, ], ), - borderRadius: BorderRadius.circular(AppRadius.sidebar), + borderRadius: BorderRadius.circular(_buttonRadius), border: Border.all( color: palette.chromeStroke.withValues(alpha: 0.88), width: 0.9, diff --git a/test/features/assistant_page_suite.dart b/test/features/assistant_page_suite.dart index 53b9cbf5..4d07268e 100644 --- a/test/features/assistant_page_suite.dart +++ b/test/features/assistant_page_suite.dart @@ -296,6 +296,34 @@ void main() { }, ); + testWidgets('AssistantPage uses a compact collapsed artifact toggle', ( + WidgetTester tester, + ) async { + final controller = await createTestController(tester); + + await pumpPage( + tester, + child: AssistantPage(controller: controller, onOpenDetail: (_) {}), + platform: TargetPlatform.macOS, + ); + + final toggle = find.byKey(const Key('assistant-artifact-pane-toggle')); + final decoratedBody = find.descendant( + of: toggle, + matching: find.byWidgetPredicate( + (widget) => widget is Container && widget.decoration is BoxDecoration, + ), + ); + + expect(toggle, findsOneWidget); + expect(tester.getSize(toggle), const Size(32, 36)); + + final body = tester.widget(decoratedBody); + final decoration = body.decoration! as BoxDecoration; + + expect(decoration.borderRadius, BorderRadius.circular(8)); + }); + testWidgets( 'AssistantPage shows Single Agent provider selector on the right', (WidgetTester tester) async {},