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 확인
86 lines
2.6 KiB
C#
86 lines
2.6 KiB
C#
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;
|
|
}
|
|
}
|