AX Agent UI와 응답 마감 엔진을 claw-code 기준으로 1차 재구성
Some checks failed
Release Gate / gate (push) Has been cancelled
Some checks failed
Release Gate / gate (push) Has been cancelled
사이드바, 메시지 축, 빈 상태, 컴포저를 더 얇고 밀도 높은 구조로 재배치하고 보조 상태 스트립 노출을 줄였습니다. 반응형 폭 계산을 다시 조정해 창 크기 변화에서도 메시지와 컴포저가 같은 중심선으로 자연스럽게 줄어들게 했습니다. 응답 취소와 오류 마감은 AxAgentExecutionEngine의 FinalizeExecutionContent로 공통화해 전송과 재생성의 후처리 경로를 맞췄습니다. 검증: 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:
@@ -406,7 +406,7 @@
|
||||
<!-- 축소 아이콘 바 (사이드바 닫힘 시 표시) -->
|
||||
<ColumnDefinition x:Name="IconBarColumn" Width="0"/>
|
||||
<!-- 사이드바 (열림 시 표시) -->
|
||||
<ColumnDefinition x:Name="SidebarColumn" Width="256" MinWidth="0"/>
|
||||
<ColumnDefinition x:Name="SidebarColumn" Width="220" MinWidth="0"/>
|
||||
<ColumnDefinition Width="*"/>
|
||||
<!-- 미리보기 스플리터 -->
|
||||
<ColumnDefinition x:Name="SplitterColumn" Width="0"/>
|
||||
@@ -477,7 +477,7 @@
|
||||
BorderThickness="0,0,1,0">
|
||||
<Grid>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="52"/>
|
||||
<RowDefinition Height="48"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
@@ -487,18 +487,18 @@
|
||||
</Grid.RowDefinitions>
|
||||
|
||||
<!-- 헤더 -->
|
||||
<Grid Grid.Row="0" Margin="14,0">
|
||||
<Grid Grid.Row="0" Margin="12,0">
|
||||
<StackPanel Orientation="Horizontal" VerticalAlignment="Center">
|
||||
<Border Background="{DynamicResource HintBackground}" CornerRadius="7"
|
||||
<Border Background="{DynamicResource HintBackground}" CornerRadius="6"
|
||||
BorderBrush="{DynamicResource BorderColor}"
|
||||
BorderThickness="1"
|
||||
Width="24" Height="24">
|
||||
<TextBlock Text="" FontFamily="Segoe MDL2 Assets" FontSize="12"
|
||||
Width="22" Height="22">
|
||||
<TextBlock Text="" FontFamily="Segoe MDL2 Assets" FontSize="11"
|
||||
Foreground="{DynamicResource AccentColor}" HorizontalAlignment="Center" VerticalAlignment="Center"/>
|
||||
</Border>
|
||||
<TextBlock Text="AX Agent" FontSize="13.5" FontWeight="SemiBold"
|
||||
<TextBlock Text="AX Agent" FontSize="13" FontWeight="SemiBold"
|
||||
Foreground="{DynamicResource PrimaryText}"
|
||||
VerticalAlignment="Center" Margin="9,0,0,0"/>
|
||||
VerticalAlignment="Center" Margin="8,0,0,0"/>
|
||||
</StackPanel>
|
||||
</Grid>
|
||||
|
||||
@@ -507,8 +507,8 @@
|
||||
<StackPanel>
|
||||
<Border x:Name="SidebarNewChatTrigger"
|
||||
Background="Transparent"
|
||||
CornerRadius="8"
|
||||
Padding="9,7"
|
||||
CornerRadius="7"
|
||||
Padding="8,6"
|
||||
Cursor="Hand"
|
||||
MouseEnter="SidebarNewChatTrigger_MouseEnter"
|
||||
MouseLeave="SidebarNewChatTrigger_MouseLeave"
|
||||
@@ -523,7 +523,7 @@
|
||||
Foreground="{DynamicResource SecondaryText}" VerticalAlignment="Center"/>
|
||||
<TextBlock Grid.Column="1" Text="새 대화"
|
||||
Foreground="{DynamicResource PrimaryText}"
|
||||
FontSize="11" Margin="7,0,0,0" VerticalAlignment="Center"/>
|
||||
FontSize="10.8" Margin="7,0,0,0" VerticalAlignment="Center"/>
|
||||
<TextBlock x:Name="SidebarNewChatShortcutHint"
|
||||
Grid.Column="2"
|
||||
Text="Ctrl+N"
|
||||
@@ -536,8 +536,8 @@
|
||||
|
||||
<Border x:Name="SidebarSearchTrigger"
|
||||
Background="Transparent"
|
||||
CornerRadius="8"
|
||||
Padding="9,7"
|
||||
CornerRadius="7"
|
||||
Padding="8,6"
|
||||
Cursor="Hand"
|
||||
MouseEnter="SidebarSearchTrigger_MouseEnter"
|
||||
MouseLeave="SidebarSearchTrigger_MouseLeave"
|
||||
@@ -552,7 +552,7 @@
|
||||
Foreground="{DynamicResource SecondaryText}" VerticalAlignment="Center"/>
|
||||
<TextBlock Grid.Column="1" Text="검색"
|
||||
Foreground="{DynamicResource PrimaryText}"
|
||||
FontSize="11" Margin="7,0,0,0" VerticalAlignment="Center"/>
|
||||
FontSize="10.8" Margin="7,0,0,0" VerticalAlignment="Center"/>
|
||||
<TextBlock x:Name="SidebarSearchShortcutHint"
|
||||
Grid.Column="2"
|
||||
Text="Ctrl+K"
|
||||
@@ -921,7 +921,7 @@
|
||||
<Border x:Name="AgentProgressBar" Grid.Row="2" Visibility="Collapsed"
|
||||
Background="{DynamicResource HintBackground}"
|
||||
BorderBrush="{DynamicResource SeparatorColor}" BorderThickness="0,0,0,1"
|
||||
Padding="12,3,12,3">
|
||||
Padding="10,2,10,2">
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
@@ -1181,10 +1181,10 @@
|
||||
VerticalScrollBarVisibility="Auto"
|
||||
HorizontalScrollBarVisibility="Disabled"
|
||||
Background="{DynamicResource LauncherBackground}"
|
||||
Padding="24,14,24,8">
|
||||
Padding="18,10,18,6">
|
||||
<StackPanel x:Name="MessagePanel"
|
||||
Margin="0,0,0,20"
|
||||
MaxWidth="880"
|
||||
Margin="0,0,0,14"
|
||||
MaxWidth="840"
|
||||
HorizontalAlignment="Center">
|
||||
<StackPanel.RenderTransform>
|
||||
<TranslateTransform/>
|
||||
@@ -1196,8 +1196,8 @@
|
||||
<Grid x:Name="EmptyState" Grid.Row="3"
|
||||
HorizontalAlignment="Stretch"
|
||||
VerticalAlignment="Center"
|
||||
MaxWidth="880"
|
||||
Margin="24,8,24,8">
|
||||
MaxWidth="840"
|
||||
Margin="18,8,18,8">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="16"/>
|
||||
@@ -1208,24 +1208,24 @@
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Top"
|
||||
Margin="0,10,0,2">
|
||||
<Border x:Name="EmptyIcon" CornerRadius="18" Width="54" Height="54"
|
||||
HorizontalAlignment="Center" Margin="0,0,0,14"
|
||||
<Border x:Name="EmptyIcon" CornerRadius="14" Width="44" Height="44"
|
||||
HorizontalAlignment="Center" Margin="0,0,0,12"
|
||||
Background="{DynamicResource ItemBackground}"
|
||||
BorderBrush="{DynamicResource BorderColor}"
|
||||
BorderThickness="1">
|
||||
<TextBlock Text="" FontFamily="Segoe MDL2 Assets" FontSize="30"
|
||||
<TextBlock Text="" FontFamily="Segoe MDL2 Assets" FontSize="22"
|
||||
Foreground="{DynamicResource AccentColor}"
|
||||
HorizontalAlignment="Center" VerticalAlignment="Center"/>
|
||||
</Border>
|
||||
|
||||
<TextBlock x:Name="EmptyStateTitle" Text="작업을 시작하세요" FontSize="20" FontWeight="SemiBold"
|
||||
<TextBlock x:Name="EmptyStateTitle" Text="작업을 시작하세요" FontSize="18" FontWeight="SemiBold"
|
||||
Foreground="{DynamicResource PrimaryText}" HorizontalAlignment="Center"/>
|
||||
<TextBlock x:Name="EmptyStateDesc" Text="프롬프트를 입력하거나 아래 작업 유형을 선택하면 됩니다"
|
||||
FontSize="12" Foreground="{DynamicResource SecondaryText}"
|
||||
FontSize="11.5" Foreground="{DynamicResource SecondaryText}"
|
||||
HorizontalAlignment="Center"
|
||||
TextAlignment="Center"
|
||||
Width="340"
|
||||
Margin="0,8,0,0"/>
|
||||
Width="320"
|
||||
Margin="0,6,0,0"/>
|
||||
</StackPanel>
|
||||
|
||||
<ScrollViewer x:Name="TopicPresetScrollViewer"
|
||||
@@ -1560,9 +1560,9 @@
|
||||
|
||||
<!-- ── 입력 바 ── -->
|
||||
<Border x:Name="ComposerShell" Grid.Row="4"
|
||||
Margin="18,0,18,20"
|
||||
Margin="18,0,18,16"
|
||||
Width="Auto"
|
||||
MaxWidth="820"
|
||||
MaxWidth="760"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Bottom">
|
||||
<StackPanel HorizontalAlignment="Stretch">
|
||||
@@ -1571,9 +1571,9 @@
|
||||
Background="{DynamicResource LauncherBackground}"
|
||||
BorderBrush="{DynamicResource BorderColor}"
|
||||
BorderThickness="1"
|
||||
CornerRadius="14"
|
||||
Padding="10,8,10,8"
|
||||
Margin="0,0,0,6">
|
||||
CornerRadius="12"
|
||||
Padding="9,7,9,7"
|
||||
Margin="0,0,0,5">
|
||||
<Border.Effect>
|
||||
<DropShadowEffect BlurRadius="10" ShadowDepth="0" Opacity="0.05"/>
|
||||
</Border.Effect>
|
||||
@@ -1628,7 +1628,7 @@
|
||||
<StackPanel x:Name="DraftQueuePanel"
|
||||
Visibility="Collapsed"
|
||||
Margin="0,0,0,8"/>
|
||||
<Border x:Name="InputGlowBorder" CornerRadius="16" Opacity="0"
|
||||
<Border x:Name="InputGlowBorder" CornerRadius="14" Opacity="0"
|
||||
Margin="-3" IsHitTestVisible="False">
|
||||
<Border.BorderBrush>
|
||||
<LinearGradientBrush x:Name="RainbowBrush" StartPoint="0,0" EndPoint="1,1">
|
||||
@@ -1651,10 +1651,10 @@
|
||||
<!-- 실제 입력 영역 -->
|
||||
<Border x:Name="InputBorder"
|
||||
Background="{DynamicResource LauncherBackground}"
|
||||
CornerRadius="12" Padding="6"
|
||||
CornerRadius="10" Padding="5"
|
||||
BorderBrush="{DynamicResource BorderColor}" BorderThickness="1">
|
||||
<Border.Effect>
|
||||
<DropShadowEffect BlurRadius="14" ShadowDepth="0" Opacity="0.06"/>
|
||||
<DropShadowEffect BlurRadius="10" ShadowDepth="0" Opacity="0.04"/>
|
||||
</Border.Effect>
|
||||
<Grid>
|
||||
<Grid.RowDefinitions>
|
||||
@@ -1665,12 +1665,11 @@
|
||||
</Grid.RowDefinitions>
|
||||
|
||||
<!-- Row 0: 모델 셀렉터 + 템플릿 버튼 -->
|
||||
<Grid Grid.Row="0" Margin="2,0,2,2">
|
||||
<Grid Grid.Row="0" Margin="1,0,1,2">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
<ColumnDefinition Width="*"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<Button x:Name="BtnModelSelector"
|
||||
Style="{StaticResource OutlineHoverBtn}"
|
||||
@@ -1688,7 +1687,7 @@
|
||||
VerticalAlignment="Center" Margin="0,0,4,0"/>
|
||||
<TextBlock x:Name="ModelLabel" FontSize="11.5"
|
||||
Foreground="{DynamicResource SecondaryText}"
|
||||
MaxWidth="360"
|
||||
MaxWidth="300"
|
||||
TextTrimming="CharacterEllipsis"
|
||||
VerticalAlignment="Center"/>
|
||||
<TextBlock Text="" FontFamily="Segoe MDL2 Assets" FontSize="8"
|
||||
@@ -1698,13 +1697,14 @@
|
||||
</Button>
|
||||
<Border x:Name="TokenUsageCard"
|
||||
Grid.Column="2"
|
||||
Margin="5,0,5,0"
|
||||
Padding="5,2"
|
||||
Margin="4,0,0,0"
|
||||
Padding="4,2"
|
||||
CornerRadius="7"
|
||||
BorderBrush="{DynamicResource BorderColor}"
|
||||
BorderThickness="1"
|
||||
Background="{DynamicResource ItemBackground}"
|
||||
VerticalAlignment="Center">
|
||||
VerticalAlignment="Center"
|
||||
Visibility="Collapsed">
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
@@ -1772,7 +1772,7 @@
|
||||
</Border>
|
||||
<Button x:Name="BtnTemplateSelector"
|
||||
Style="{StaticResource OutlineHoverBtn}"
|
||||
Grid.Column="3"
|
||||
Grid.Column="2"
|
||||
HorizontalAlignment="Right"
|
||||
Margin="0"
|
||||
MinHeight="24"
|
||||
|
||||
Reference in New Issue
Block a user