입력 하단 UX 컴팩트 정렬: 모델 선택/전송 영역 밀도 개선
Some checks failed
Release Gate / gate (push) Has been cancelled

- ChatWindow 입력 하단(InputBorder, 모델/프리셋 라인, 인라인 설정 패널) 패딩·폰트·버튼 높이를 축소

- InputBox/워터마크와 첨부·내보내기·전송·중지 버튼 크기를 조정해 Codex형 컴포저 밀도에 맞춤

- README.md, docs/DEVELOPMENT.md에 2026-04-04 14:35(KST) 기준 이력 반영

- 검증: dotnet build 0경고/0오류, 관련 필터 테스트 82건 통과
This commit is contained in:
2026-04-04 14:36:33 +09:00
parent db920d2256
commit 310e75832c
3 changed files with 56 additions and 35 deletions

View File

@@ -1079,7 +1079,7 @@
<!-- 실제 입력 영역 -->
<Border x:Name="InputBorder"
Background="{DynamicResource ItemBackground}"
CornerRadius="24" Padding="7"
CornerRadius="22" Padding="6"
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,1,6,2">
<Grid Grid.Row="0" Margin="5,1,5,2">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
@@ -1104,8 +1104,8 @@
Grid.Column="0"
HorizontalAlignment="Left"
Margin="0"
MinHeight="28"
Padding="10,3"
MinHeight="26"
Padding="9,2.5"
Click="BtnModelSelector_Click"
ToolTip="모델/추론 빠른 설정"
WindowChrome.IsHitTestVisibleInChrome="True">
@@ -1113,9 +1113,9 @@
<TextBlock Text="&#xEA86;" FontFamily="Segoe MDL2 Assets" FontSize="12"
Foreground="{DynamicResource SecondaryText}"
VerticalAlignment="Center" Margin="0,0,5,0"/>
<TextBlock x:Name="ModelLabel" FontSize="12.5"
<TextBlock x:Name="ModelLabel" FontSize="12"
Foreground="{DynamicResource SecondaryText}"
MaxWidth="280"
MaxWidth="260"
TextTrimming="CharacterEllipsis"
VerticalAlignment="Center"/>
<TextBlock Text="&#xE70D;" FontFamily="Segoe MDL2 Assets" FontSize="9"
@@ -1128,9 +1128,9 @@
Grid.Column="2"
HorizontalAlignment="Right"
Margin="0"
MinHeight="28"
MinWidth="64"
Padding="8,3"
MinHeight="26"
MinWidth="60"
Padding="7,2.5"
Click="BtnTemplateSelector_Click"
ToolTip="프롬프트 템플릿"
WindowChrome.IsHitTestVisibleInChrome="True">
@@ -1138,7 +1138,7 @@
<TextBlock Text="&#xE8A5;" FontFamily="Segoe MDL2 Assets" FontSize="12"
Foreground="{DynamicResource SecondaryText}"
VerticalAlignment="Center" Margin="0,0,5,0"/>
<TextBlock Text="프리셋" FontSize="12"
<TextBlock Text="프리셋" FontSize="11.5"
Foreground="{DynamicResource SecondaryText}"
VerticalAlignment="Center"/>
<TextBlock Text="&#xE70D;" FontFamily="Segoe MDL2 Assets" FontSize="8"
@@ -1151,8 +1151,8 @@
<!-- Row 1: 통합 설정 패널 -->
<Border x:Name="InlineSettingsPanel"
Grid.Row="1"
Margin="8,3,8,4"
Padding="10,9,10,8"
Margin="8,2,8,3"
Padding="9,8,9,7"
CornerRadius="12"
BorderBrush="{DynamicResource BorderColor}"
BorderThickness="1"
@@ -1167,7 +1167,7 @@
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0"
Text="채팅 설정"
FontSize="12"
FontSize="11.5"
FontWeight="SemiBold"
Foreground="{DynamicResource PrimaryText}"
VerticalAlignment="Center"/>
@@ -1175,13 +1175,13 @@
x:Name="InlineSettingsHintText"
Margin="8,0,0,0"
Text="모델/권한 핵심 옵션"
FontSize="11"
FontSize="10.5"
Foreground="{DynamicResource SecondaryText}"
VerticalAlignment="Center"/>
<Button Grid.Column="2"
x:Name="BtnInlineSettingsClose"
Style="{StaticResource GhostBtn}"
Padding="6,3"
Padding="5,3"
Click="BtnInlineSettingsClose_Click"
ToolTip="설정 패널 닫기">
<TextBlock Text="&#xE711;"
@@ -1202,22 +1202,22 @@
Text="서비스"
Margin="0,0,8,0"
VerticalAlignment="Center"
FontSize="11"
FontSize="10.5"
Foreground="{DynamicResource SecondaryText}"/>
<ComboBox Grid.Column="1"
x:Name="CmbInlineService"
MinWidth="130"
Height="28"
Height="26"
SelectionChanged="CmbInlineService_SelectionChanged"/>
<TextBlock Grid.Column="2"
Text="모델"
Margin="12,0,8,0"
VerticalAlignment="Center"
FontSize="11"
FontSize="10.5"
Foreground="{DynamicResource SecondaryText}"/>
<ComboBox Grid.Column="3"
x:Name="CmbInlineModel"
Height="28"
Height="26"
SelectionChanged="CmbInlineModel_SelectionChanged"/>
</Grid>
@@ -1225,22 +1225,22 @@
<Button x:Name="BtnInlineFastMode"
Style="{StaticResource OutlineHoverBtn}"
Margin="0,0,6,6"
Padding="10,5"
Padding="9,4"
Click="BtnInlineFastMode_Click"/>
<Button x:Name="BtnInlineReasoning"
Style="{StaticResource OutlineHoverBtn}"
Margin="0,0,6,6"
Padding="10,5"
Padding="9,4"
Click="BtnInlineReasoning_Click"/>
<Button x:Name="BtnInlinePlanMode"
Style="{StaticResource OutlineHoverBtn}"
Margin="0,0,6,6"
Padding="10,5"
Padding="9,4"
Click="BtnInlinePlanMode_Click"/>
<Button x:Name="BtnInlinePermission"
Style="{StaticResource OutlineHoverBtn}"
Margin="0,0,6,6"
Padding="10,5"
Padding="9,4"
Click="BtnInlinePermission_Click"/>
<Button x:Name="BtnInlineSkill"
Style="{StaticResource OutlineHoverBtn}"
@@ -1286,23 +1286,23 @@
<Grid Grid.Column="0">
<TextBox x:Name="InputBox"
FontSize="14" FontFamily="Segoe UI, Malgun Gothic"
FontSize="13.5" FontFamily="Segoe UI, Malgun Gothic"
Foreground="{DynamicResource PrimaryText}"
Background="Transparent"
CaretBrush="{DynamicResource AccentColor}"
BorderThickness="0" Padding="14,10"
BorderThickness="0" Padding="12,8"
VerticalContentAlignment="Top"
AcceptsReturn="True"
PreviewKeyDown="InputBox_PreviewKeyDown"
TextChanged="InputBox_TextChanged"
TextWrapping="Wrap"
MinHeight="40" MaxHeight="160"
MinHeight="36" MaxHeight="156"
VerticalScrollBarVisibility="Auto"/>
<!-- 워터마크 (프롬프트 카드 안내문구) -->
<TextBlock x:Name="InputWatermark"
FontSize="14" FontFamily="Segoe UI, Malgun Gothic"
FontSize="13.5" FontFamily="Segoe UI, Malgun Gothic"
Foreground="{DynamicResource SecondaryText}"
Padding="14,10" IsHitTestVisible="False"
Padding="12,8" IsHitTestVisible="False"
TextWrapping="Wrap" Opacity="0.7"
Visibility="Collapsed"/>
<!-- 슬래시 명령어 칩 (명령 선택 후 표시) -->
@@ -1330,7 +1330,7 @@
<!-- 파일 첨부 -->
<Button x:Name="BtnAttach" Style="{StaticResource GhostBtn}" Grid.Column="1"
Width="36" Height="36" Margin="0,0,2,0" VerticalAlignment="Bottom"
Width="34" Height="34" Margin="0,0,2,0" VerticalAlignment="Bottom"
Click="BtnAttach_Click" ToolTip="파일 첨부"
WindowChrome.IsHitTestVisibleInChrome="True"
AllowDrop="True">
@@ -1340,7 +1340,7 @@
<!-- 내보내기 -->
<Button Style="{StaticResource GhostBtn}" Grid.Column="2"
Width="36" Height="36" Margin="0,0,2,0" VerticalAlignment="Bottom"
Width="34" Height="34" Margin="0,0,2,0" VerticalAlignment="Bottom"
Click="BtnExport_Click" ToolTip="대화 내보내기"
WindowChrome.IsHitTestVisibleInChrome="True">
<TextBlock Text="&#xEDE1;" FontFamily="Segoe MDL2 Assets" FontSize="14"
@@ -1363,13 +1363,13 @@
<!-- 중지/전송 -->
<Button x:Name="BtnStop" Grid.Column="3"
Width="40" Height="40" Margin="4,0,4,0"
Width="38" Height="38" Margin="4,0,4,0"
Cursor="Hand" Click="BtnStop_Click"
VerticalAlignment="Bottom" Visibility="Collapsed"
WindowChrome.IsHitTestVisibleInChrome="True">
<Button.Template>
<ControlTemplate TargetType="Button">
<Border Background="#DC2626" CornerRadius="20">
<Border Background="#DC2626" CornerRadius="19">
<TextBlock Text="&#xE71A;" FontFamily="Segoe MDL2 Assets"
FontSize="13" Foreground="White"
HorizontalAlignment="Center" VerticalAlignment="Center"/>
@@ -1378,13 +1378,13 @@
</Button.Template>
</Button>
<Button x:Name="BtnSend" Grid.Column="4"
Width="40" Height="40" Margin="4,0,4,0"
Width="38" Height="38" Margin="4,0,4,0"
Cursor="Hand" Click="BtnSend_Click"
VerticalAlignment="Bottom">
<Button.Template>
<ControlTemplate TargetType="Button">
<Border x:Name="Bd" Background="{DynamicResource AccentColor}"
CornerRadius="20">
CornerRadius="19">
<TextBlock Text="&#xE724;" FontFamily="Segoe MDL2 Assets"
FontSize="13" Foreground="White"
HorizontalAlignment="Center" VerticalAlignment="Center"/>