Tighten artifact sidebar reveal toggle

This commit is contained in:
Haitao Pan 2026-03-25 18:49:50 +08:00
parent 499e907bab
commit 42dd737dcb
2 changed files with 36 additions and 4 deletions

View File

@ -401,6 +401,10 @@ class _AssistantArtifactSidebarState extends State<AssistantArtifactSidebar> {
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,

View File

@ -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<Container>(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 {},