AX Agent 프리뷰 UI를 claw-code 스타일로 정리하고 프리뷰 surface를 공통화
Some checks failed
Release Gate / gate (push) Has been cancelled
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:
85
src/AxCopilot/Views/AgentPreviewSurfaceFactory.cs
Normal file
85
src/AxCopilot/Views/AgentPreviewSurfaceFactory.cs
Normal 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;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user