AX Agent popup 시각 언어 통일 및 선택 surface 후속 정리
Some checks failed
Release Gate / gate (push) Has been cancelled
Some checks failed
Release Gate / gate (push) Has been cancelled
- 공통 popup factory가 surface visual helper를 사용하도록 정리 - worktree 선택과 권한 모드 row의 border/hover/selected 규칙을 같은 visual language로 통일 - README와 DEVELOPMENT 문서에 2026-04-06 11:27 (KST) 기준 popup polish 누적 범위 반영 - dotnet build 검증 경고 0, 오류 0 확인
This commit is contained in:
@@ -26,14 +26,17 @@ public partial class ChatWindow
|
||||
|
||||
void AddPermissionRows(Panel container, IEnumerable<PermissionModePresentation> levels)
|
||||
{
|
||||
var hoverBackground = TryFindResource("ItemHoverBackground") as Brush ?? BrushFromHex("#F8FAFC");
|
||||
var selectedBackground = TryFindResource("HintBackground") as Brush ?? BrushFromHex("#F8FAFC");
|
||||
var selectedBorder = TryFindResource("AccentColor") as Brush ?? BrushFromHex("#D6E4FF");
|
||||
foreach (var item in levels)
|
||||
{
|
||||
var level = item.Mode;
|
||||
var isActive = level.Equals(current, StringComparison.OrdinalIgnoreCase);
|
||||
var rowBorder = new Border
|
||||
{
|
||||
Background = isActive ? BrushFromHex("#F8FAFC") : Brushes.Transparent,
|
||||
BorderBrush = Brushes.Transparent,
|
||||
Background = isActive ? selectedBackground : Brushes.Transparent,
|
||||
BorderBrush = isActive ? selectedBorder : Brushes.Transparent,
|
||||
BorderThickness = new Thickness(1),
|
||||
CornerRadius = new CornerRadius(12),
|
||||
Padding = new Thickness(10, 10, 10, 10),
|
||||
@@ -93,8 +96,8 @@ public partial class ChatWindow
|
||||
row.Children.Add(check);
|
||||
|
||||
rowBorder.Child = row;
|
||||
rowBorder.MouseEnter += (_, _) => rowBorder.Background = BrushFromHex("#F8FAFC");
|
||||
rowBorder.MouseLeave += (_, _) => rowBorder.Background = isActive ? BrushFromHex("#F8FAFC") : Brushes.Transparent;
|
||||
rowBorder.MouseEnter += (_, _) => rowBorder.Background = isActive ? selectedBackground : hoverBackground;
|
||||
rowBorder.MouseLeave += (_, _) => rowBorder.Background = isActive ? selectedBackground : Brushes.Transparent;
|
||||
|
||||
var capturedLevel = level;
|
||||
void ApplyPermission()
|
||||
|
||||
@@ -19,27 +19,8 @@ public partial class ChatWindow
|
||||
{
|
||||
_sharedContextPopup?.SetCurrentValue(Popup.IsOpenProperty, false);
|
||||
|
||||
var bg = TryFindResource("LauncherBackground") as Brush ?? Brushes.White;
|
||||
var border = TryFindResource("BorderColor") as Brush ?? Brushes.Gray;
|
||||
var panel = new StackPanel { Margin = new Thickness(2) };
|
||||
var container = new Border
|
||||
{
|
||||
Background = bg,
|
||||
BorderBrush = border,
|
||||
BorderThickness = new Thickness(1),
|
||||
CornerRadius = new CornerRadius(10),
|
||||
Padding = new Thickness(6),
|
||||
MinWidth = minWidth,
|
||||
Child = panel,
|
||||
Effect = new System.Windows.Media.Effects.DropShadowEffect
|
||||
{
|
||||
BlurRadius = 16,
|
||||
ShadowDepth = 3,
|
||||
Opacity = 0.18,
|
||||
Color = Colors.Black,
|
||||
Direction = 270,
|
||||
},
|
||||
};
|
||||
var container = CreateSurfacePopupContainer(panel, minWidth, new Thickness(6));
|
||||
|
||||
var popup = new Popup
|
||||
{
|
||||
@@ -64,40 +45,13 @@ public partial class ChatWindow
|
||||
Brush hoverBrush,
|
||||
Action action)
|
||||
{
|
||||
var sp = new StackPanel { Orientation = Orientation.Horizontal };
|
||||
sp.Children.Add(new TextBlock
|
||||
{
|
||||
Text = icon,
|
||||
FontFamily = new FontFamily("Segoe MDL2 Assets"),
|
||||
FontSize = 12.5,
|
||||
Foreground = iconBrush,
|
||||
VerticalAlignment = VerticalAlignment.Center,
|
||||
Margin = new Thickness(0, 0, 9, 0),
|
||||
});
|
||||
sp.Children.Add(new TextBlock
|
||||
{
|
||||
Text = label,
|
||||
FontSize = 12.5,
|
||||
Foreground = labelBrush,
|
||||
VerticalAlignment = VerticalAlignment.Center,
|
||||
});
|
||||
|
||||
var item = new Border
|
||||
{
|
||||
Child = sp,
|
||||
Background = Brushes.Transparent,
|
||||
CornerRadius = new CornerRadius(8),
|
||||
Cursor = Cursors.Hand,
|
||||
Padding = new Thickness(10, 7, 12, 7),
|
||||
Margin = new Thickness(0, 1, 0, 1),
|
||||
};
|
||||
item.MouseEnter += (s, _) => { if (s is Border b) b.Background = hoverBrush; };
|
||||
item.MouseLeave += (s, _) => { if (s is Border b) b.Background = Brushes.Transparent; };
|
||||
item.MouseLeftButtonUp += (_, _) =>
|
||||
var item = CreateSurfacePopupMenuItem(icon, iconBrush, label, () =>
|
||||
{
|
||||
popup.SetCurrentValue(Popup.IsOpenProperty, false);
|
||||
action();
|
||||
};
|
||||
}, labelBrush);
|
||||
item.MouseEnter += (s, _) => { if (s is Border b) b.Background = hoverBrush; };
|
||||
item.MouseLeave += (s, _) => { if (s is Border b) b.Background = Brushes.Transparent; };
|
||||
|
||||
return item;
|
||||
}
|
||||
|
||||
@@ -118,7 +118,7 @@ public partial class ChatWindow
|
||||
var row = new Border
|
||||
{
|
||||
Background = selected ? hintBackground : Brushes.Transparent,
|
||||
BorderBrush = selected ? BrushFromHex("#D6E4FF") : Brushes.Transparent,
|
||||
BorderBrush = selected ? (TryFindResource("AccentColor") as Brush ?? BrushFromHex("#D6E4FF")) : Brushes.Transparent,
|
||||
BorderThickness = new Thickness(1),
|
||||
CornerRadius = new CornerRadius(12),
|
||||
Padding = new Thickness(12, 10, 12, 10),
|
||||
|
||||
Reference in New Issue
Block a user