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

@@ -0,0 +1,85 @@
using System.Windows;
using System.Windows.Controls;
using System.Windows.Media;
namespace AxCopilot.Views;
internal static class AgentPreviewSurfaceFactory
{
internal static Border CreateSurface(
string title,
string summary,
UIElement body,
Brush primary,
Brush secondary,
Brush itemBackground,
Brush borderBrush,
Thickness? margin = null)
{
return new Border
{
Background = itemBackground,
BorderBrush = borderBrush,
BorderThickness = new Thickness(1),
CornerRadius = new CornerRadius(12),
Padding = new Thickness(12, 10, 12, 10),
Margin = margin ?? new Thickness(0, 8, 0, 0),
Child = new StackPanel
{
Children =
{
new TextBlock
{
Text = title,
FontSize = 12,
FontWeight = FontWeights.SemiBold,
Foreground = primary,
},
new TextBlock
{
Text = summary,
FontSize = 11,
Foreground = secondary,
Margin = new Thickness(0, 2, 0, 8),
TextWrapping = TextWrapping.Wrap,
},
body
}
}
};
}
internal static Border CreatePreviewBox(
string content,
Brush primary,
Brush secondary,
Brush borderBrush,
double maxHeight,
bool monospace = true)
{
var panel = new Border
{
Background = Brushes.Transparent,
BorderBrush = new SolidColorBrush(Color.FromArgb(0x20, 0x80, 0x80, 0x80)),
BorderThickness = new Thickness(1),
CornerRadius = new CornerRadius(8),
Padding = new Thickness(8, 6, 8, 6),
Child = new ScrollViewer
{
MaxHeight = maxHeight,
VerticalScrollBarVisibility = ScrollBarVisibility.Auto,
Content = new TextBlock
{
Text = string.IsNullOrWhiteSpace(content) ? "(empty)" : content,
Foreground = primary,
FontFamily = monospace ? new FontFamily("Consolas") : new FontFamily("Pretendard"),
FontSize = 11.2,
TextWrapping = TextWrapping.Wrap,
LineHeight = 18,
}
}
};
return panel;
}
}