AX Agent 프리뷰 UI를 claw-code 스타일로 정리하고 프리뷰 surface를 공통화
Some checks failed
Release Gate / gate (push) Has been cancelled

- AX Agent 권한 승인 프리뷰에 공통 preview surface helper를 도입해 제목/요약/본문 box 구성을 일관되게 정리함
- 우측 파일 프리뷰 패널에 파일명, 경로, 형식·크기 메타 헤더를 추가하고 텍스트 프리뷰를 bordered preview box 안에 렌더하도록 개선함
- README와 DEVELOPMENT 문서에 2026-04-06 01:08 (KST) 기준 변경 이력 반영 완료
- dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\ 경고 0 / 오류 0 확인
This commit is contained in:
2026-04-05 22:03:16 +09:00
parent 53965083e3
commit 1948af3cc4
6 changed files with 239 additions and 139 deletions

View File

@@ -581,48 +581,19 @@ internal sealed class PermissionRequestWindow : Window
Brush border,
UiExpressionProfile uiProfile)
{
return new Border
{
Background = itemBg,
BorderBrush = border,
BorderThickness = new Thickness(1),
CornerRadius = new CornerRadius(10),
Padding = new Thickness(10, 8, 10, 8),
Margin = new Thickness(0, 8, 0, 0),
Child = new StackPanel
{
Children =
{
new TextBlock
{
Text = title,
FontSize = 11.5,
FontWeight = FontWeights.SemiBold,
Foreground = primary,
},
new TextBlock
{
Text = summary,
FontSize = 11,
Foreground = secondary,
Margin = new Thickness(0, 2, 0, 6),
},
new TextBox
{
Text = content,
IsReadOnly = true,
BorderThickness = new Thickness(0),
Background = Brushes.Transparent,
Foreground = primary,
FontFamily = new FontFamily("Consolas"),
FontSize = 11,
MaxHeight = uiProfile.PreviewMaxHeight,
TextWrapping = TextWrapping.Wrap,
VerticalScrollBarVisibility = ScrollBarVisibility.Auto,
}
}
}
};
return AgentPreviewSurfaceFactory.CreateSurface(
title,
summary,
AgentPreviewSurfaceFactory.CreatePreviewBox(
content,
primary,
secondary,
border,
uiProfile.PreviewMaxHeight),
primary,
secondary,
itemBg,
border);
}
private static Border BuildFileEditPreviewCard(
@@ -679,41 +650,19 @@ internal sealed class PermissionRequestWindow : Window
});
}
return new Border
{
Background = itemBg,
BorderBrush = border,
BorderThickness = new Thickness(1),
CornerRadius = new CornerRadius(10),
Padding = new Thickness(10, 8, 10, 8),
Margin = new Thickness(0, 8, 0, 0),
Child = new StackPanel
{
Children =
{
new TextBlock
{
Text = title,
FontSize = 11.5,
FontWeight = FontWeights.SemiBold,
Foreground = primary,
},
new TextBlock
{
Text = summary,
FontSize = 11,
Foreground = secondary,
Margin = new Thickness(0, 2, 0, 6),
},
new ScrollViewer
{
MaxHeight = uiProfile.PreviewMaxHeight,
VerticalScrollBarVisibility = ScrollBarVisibility.Auto,
Content = body,
}
}
}
};
return AgentPreviewSurfaceFactory.CreateSurface(
title,
summary,
AgentPreviewSurfaceFactory.CreatePreviewBox(
string.Join("\n", body.Children.OfType<TextBlock>().Select(tb => tb.Text)),
primary,
secondary,
border,
uiProfile.PreviewMaxHeight),
primary,
secondary,
itemBg,
border);
}
private static Border BuildFileWriteTwoColumnPreviewCard(
@@ -764,36 +713,14 @@ internal sealed class PermissionRequestWindow : Window
Grid.SetColumn(newPanel, 2);
grid.Children.Add(newPanel);
return new Border
{
Background = itemBg,
BorderBrush = border,
BorderThickness = new Thickness(1),
CornerRadius = new CornerRadius(10),
Padding = new Thickness(10, 8, 10, 8),
Margin = new Thickness(0, 8, 0, 0),
Child = new StackPanel
{
Children =
{
new TextBlock
{
Text = title,
FontSize = 11.5,
FontWeight = FontWeights.SemiBold,
Foreground = primary,
},
new TextBlock
{
Text = summary,
FontSize = 11,
Foreground = secondary,
Margin = new Thickness(0, 2, 0, 6),
},
grid,
}
}
};
return AgentPreviewSurfaceFactory.CreateSurface(
title,
summary,
grid,
primary,
secondary,
itemBg,
border);
}
private static Border BuildWriteColumn(
@@ -1161,8 +1088,8 @@ internal sealed class PermissionRequestWindow : Window
Owner = owner,
};
if (owner.Resources.MergedDictionaries.Count > 0)
dialog.Resources.MergedDictionaries.Add(owner.Resources);
dialog.WindowStartupLocation = WindowStartupLocation.CenterOwner;
dialog.Resources.MergedDictionaries.Add(owner.Resources);
dialog.ShowDialog();
return dialog._result;