UI 마감 튜닝: 권한 팝업 가독성·컴포저 밀도·점검 체크리스트 반영
Some checks failed
Release Gate / gate (push) Has been cancelled

- ChatWindow 권한 팝업의 섹션/행 패딩·폰트·줄간격을 미세 조정해 스캔 속도 개선
- 슬래시 팔레트 하단 안내에 PgUp/PgDn/Home/End 키 이동 정보를 반영
- 좌측 기본 카테고리 라벨을 주제 선택/작업 선택으로 통일
- 입력 상단 컴포저(모델/프리셋/인라인 설정) 간격을 컴팩트하게 재정돈
- docs/UI_UX_CHECKLIST.md에 최신 점검 결과(운영모드 필터 18건, 전체 테스트 436건) 기록
- README.md, docs/DEVELOPMENT.md 이력 및 업데이트 시각(2026-04-04 12:33 KST) 갱신
- 빌드 복구 메모: WPF 임시 생성물 꼬임 발생 시 obj/bin 정리 후 정상 재생성 확인
This commit is contained in:
2026-04-04 12:34:34 +09:00
parent de70f57277
commit e8e701e4a1
5 changed files with 67 additions and 22 deletions

View File

@@ -1079,7 +1079,7 @@
<!-- 실제 입력 영역 -->
<Border x:Name="InputBorder"
Background="{DynamicResource ItemBackground}"
CornerRadius="24" Padding="8"
CornerRadius="24" Padding="7"
BorderBrush="{DynamicResource BorderColor}" BorderThickness="1">
<Border.Effect>
<DropShadowEffect BlurRadius="18" ShadowDepth="0" Opacity="0.08"/>
@@ -1093,7 +1093,7 @@
</Grid.RowDefinitions>
<!-- Row 0: 모델 셀렉터 + 템플릿 버튼 -->
<Grid Grid.Row="0" Margin="6,2,6,2">
<Grid Grid.Row="0" Margin="6,1,6,2">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
@@ -1149,8 +1149,8 @@
<!-- Row 1: 통합 설정 패널 -->
<Border x:Name="InlineSettingsPanel"
Grid.Row="1"
Margin="8,4,8,4"
Padding="10,10,10,8"
Margin="8,3,8,4"
Padding="10,9,10,8"
CornerRadius="12"
BorderBrush="{DynamicResource BorderColor}"
BorderThickness="1"

View File

@@ -676,7 +676,7 @@ public partial class ChatWindow : Window
{
if (string.IsNullOrEmpty(_selectedCategory))
{
CategoryLabel.Text = _activeTab switch { "Cowork" or "Code" => "모든 작업", _ => "모든 주제" };
CategoryLabel.Text = _activeTab switch { "Cowork" or "Code" => "작업 선택", _ => "주제 선택" };
CategoryIcon.Text = "\uE8BD";
}
else if (_selectedCategory == "__custom__")
@@ -1636,7 +1636,7 @@ public partial class ChatWindow : Window
var titleBlock = new TextBlock
{
Text = title,
FontSize = 10.5,
FontSize = 10,
FontWeight = FontWeights.SemiBold,
Foreground = primaryText,
VerticalAlignment = VerticalAlignment.Center,
@@ -1650,7 +1650,7 @@ public partial class ChatWindow : Window
{
Background = Brushes.Transparent,
CornerRadius = new CornerRadius(6),
Padding = new Thickness(8, 6, 8, 6),
Padding = new Thickness(8, 5, 8, 5),
Cursor = Cursors.Hand,
Focusable = true,
Child = headerGrid,
@@ -1708,12 +1708,12 @@ public partial class ChatWindow : Window
: BrushFromHex("#C7D2FE"),
BorderThickness = new Thickness(1),
CornerRadius = new CornerRadius(8),
Padding = new Thickness(12, 10, 12, 10),
Margin = new Thickness(0, 0, 0, 6),
Child = new StackPanel
{
Children =
Padding = new Thickness(11, 9, 11, 9),
Margin = new Thickness(0, 0, 0, 6),
Child = new StackPanel
{
Children =
{
new TextBlock
{
Text = $"현재 권한 모드 · {PermissionModeCatalog.ToDisplayLabel(summary.EffectiveMode)}",
@@ -1728,7 +1728,7 @@ public partial class ChatWindow : Window
new TextBlock
{
Text = $"{summary.Description} 기본값 {PermissionModeCatalog.ToDisplayLabel(summary.DefaultMode)} · 예외 {summary.OverrideCount}개",
FontSize = 10.5,
FontSize = 10,
Margin = new Thickness(0, 4, 0, 0),
Foreground = TryFindResource("SecondaryText") as Brush ?? Brushes.Gray,
TextWrapping = TextWrapping.Wrap,
@@ -1919,8 +1919,8 @@ public partial class ChatWindow : Window
BorderBrush = isActive ? BrushFromHex("#C7D2FE") : Brushes.Transparent,
BorderThickness = new Thickness(1),
CornerRadius = new CornerRadius(8),
Padding = new Thickness(10, 7, 10, 7),
Margin = new Thickness(0, 1, 0, 1),
Padding = new Thickness(10, 6, 10, 6),
Margin = new Thickness(0, 2, 0, 2),
Cursor = Cursors.Hand,
Focusable = true,
};
@@ -1945,18 +1945,18 @@ public partial class ChatWindow : Window
textStack.Children.Add(new TextBlock
{
Text = title,
FontSize = 12,
FontSize = 11.5,
FontWeight = FontWeights.SemiBold,
Foreground = TryFindResource("PrimaryText") as Brush ?? Brushes.White,
});
textStack.Children.Add(new TextBlock
{
Text = desc,
FontSize = 10.5,
FontSize = 10,
Margin = new Thickness(0, 2, 0, 0),
Foreground = TryFindResource("SecondaryText") as Brush ?? Brushes.Gray,
TextWrapping = TextWrapping.Wrap,
LineHeight = 14.5,
LineHeight = 14,
MaxWidth = 230,
});
Grid.SetColumn(textStack, 1);
@@ -5400,8 +5400,8 @@ public partial class ChatWindow : Window
BorderBrush = isSelected ? accent : borderBrush,
BorderThickness = new Thickness(1),
CornerRadius = new CornerRadius(10),
Padding = new Thickness(10, 8, 10, 8),
Margin = new Thickness(0, 0, 0, 6),
Padding = new Thickness(10, 7, 10, 7),
Margin = new Thickness(0, 0, 0, 4),
Cursor = skillAvailable ? Cursors.Hand : Cursors.Arrow,
Opacity = skillAvailable ? 1.0 : 0.5,
};
@@ -5566,7 +5566,7 @@ public partial class ChatWindow : Window
}
else
{
SlashPopupFooter.Text = $"Enter 실행 · ↑↓ 이동 · 휠 스크롤 · Esc 닫기 · 표시 {visibleCommandCount + visibleSkillCount}/{total}";
SlashPopupFooter.Text = $"Enter 실행 · ↑↓/PgUp/PgDn 이동 · Home/End · Esc 닫기 · 표시 {visibleCommandCount + visibleSkillCount}/{total}";
}
EnsureSlashSelectionVisible();