refactor(ui): blend review prompt into the terminal instead of a boxed footer

Drop the bordered Surface2 footer and lay the feedback prompt directly on the
terminal background, aligned with the log lines, so it reads as a shell input
line rather than a separate panel.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
mika kuns
2026-06-05 08:39:00 +02:00
parent 9c5872eb27
commit e22a3267fe

View File

@@ -146,26 +146,19 @@
<!-- Output: log + review footer, both gated on IsOutputTab --> <!-- Output: log + review footer, both gated on IsOutputTab -->
<DockPanel IsVisible="{Binding IsOutputTab}" LastChildFill="True"> <DockPanel IsVisible="{Binding IsOutputTab}" LastChildFill="True">
<!-- Review footer (terminal prompt) — only while awaiting review --> <!-- Review prompt — sits directly on the terminal, like a shell input line;
<Border DockPanel.Dock="Bottom" only while awaiting review. No border/fill so it reads as part of the log. -->
<Grid DockPanel.Dock="Bottom"
IsVisible="{Binding IsWaitingForReview}" IsVisible="{Binding IsWaitingForReview}"
Background="{DynamicResource Surface2Brush}" ColumnDefinitions="Auto,*,Auto"
BorderBrush="{DynamicResource LineBrush}" Margin="12,2,12,8">
BorderThickness="0,1,0,0" <TextBlock Grid.Column="0" Text="&#x276F;"
Padding="10,6">
<DockPanel LastChildFill="True">
<StackPanel DockPanel.Dock="Right" Orientation="Horizontal" Spacing="8"
VerticalAlignment="Bottom" Margin="8,0,0,0">
<Button Classes="btn accent" Content="Retry"
Command="{Binding RejectReviewCommand}" />
<Button Classes="btn" Content="Reset"
Command="{Binding ParkReviewCommand}" />
</StackPanel>
<TextBlock DockPanel.Dock="Left" Text="&#x276F;"
FontFamily="{StaticResource MonoFont}" FontFamily="{StaticResource MonoFont}"
Foreground="{DynamicResource TextMuteBrush}" FontSize="{StaticResource FontSizeMono}"
VerticalAlignment="Top" Margin="0,4,8,0" /> Foreground="{DynamicResource AccentBrush}"
<TextBox Name="ReviewInput" VerticalAlignment="Top" Margin="0,2,8,0" />
<TextBox Grid.Column="1"
Name="ReviewInput"
KeyDown="OnReviewInputKeyDown" KeyDown="OnReviewInputKeyDown"
Text="{Binding ReviewFeedback, Mode=TwoWay}" Text="{Binding ReviewFeedback, Mode=TwoWay}"
AcceptsReturn="True" AcceptsReturn="True"
@@ -174,11 +167,18 @@
PlaceholderText="Feedback for the next run…" PlaceholderText="Feedback for the next run…"
Background="Transparent" Background="Transparent"
BorderThickness="0" BorderThickness="0"
Padding="0,2" Padding="0"
VerticalContentAlignment="Center"
FontFamily="{StaticResource MonoFont}" FontFamily="{StaticResource MonoFont}"
FontSize="{StaticResource FontSizeMono}" /> FontSize="{StaticResource FontSizeMono}" />
</DockPanel> <StackPanel Grid.Column="2" Orientation="Horizontal" Spacing="8"
</Border> VerticalAlignment="Top" Margin="10,0,0,0">
<Button Classes="btn accent" Content="Retry"
Command="{Binding RejectReviewCommand}" />
<Button Classes="btn" Content="Reset"
Command="{Binding ParkReviewCommand}" />
</StackPanel>
</Grid>
<ScrollViewer Name="LogScroll" <ScrollViewer Name="LogScroll"
VerticalScrollBarVisibility="Visible" VerticalScrollBarVisibility="Visible"