feat(ui): complete Batch 2 — LiveText display, start feedback, modal theming, ListEditor config
- Replace LiveLines with formatted LiveText + StreamLineFormatter - Add log reload from disk for completed tasks - Add start feedback (starting.../running) on detail and list views - Apply dark theme (WindowBgBrush, AccentBrush) to editor modals - Add model/system-prompt/agent-path config to ListEditorView - Wire config loading/saving in MainWindowViewModel - Fix duplicate AgentInfo DTO (use canonical Data.Models version) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1,29 +1,61 @@
|
||||
<Window xmlns="https://github.com/avaloniaui"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:vm="using:ClaudeDo.Ui.ViewModels"
|
||||
xmlns:svc="using:ClaudeDo.Data.Models"
|
||||
x:Class="ClaudeDo.Ui.Views.ListEditorView"
|
||||
x:DataType="vm:ListEditorViewModel"
|
||||
Title="{Binding WindowTitle}"
|
||||
Width="450" Height="280"
|
||||
Width="450" Height="480"
|
||||
WindowStartupLocation="CenterOwner"
|
||||
CanResize="False">
|
||||
CanResize="False"
|
||||
Background="{StaticResource WindowBgBrush}">
|
||||
<StackPanel Margin="16" Spacing="10">
|
||||
<TextBlock Text="Name" FontWeight="SemiBold"/>
|
||||
<TextBlock Text="Name" FontWeight="SemiBold" Foreground="{StaticResource TextSecondaryBrush}"/>
|
||||
<TextBox Text="{Binding Name}" PlaceholderText="List name..."/>
|
||||
|
||||
<TextBlock Text="Working Directory" FontWeight="SemiBold"/>
|
||||
<TextBlock Text="Working Directory" FontWeight="SemiBold" Foreground="{StaticResource TextSecondaryBrush}"/>
|
||||
<DockPanel>
|
||||
<Button DockPanel.Dock="Right" Content="Browse..." Click="OnBrowseFolder" Margin="8,0,0,0" VerticalAlignment="Center"/>
|
||||
<TextBox Text="{Binding WorkingDir}" PlaceholderText="(optional) Absolute path to git repo"/>
|
||||
</DockPanel>
|
||||
|
||||
<TextBlock Text="Default Commit Type" FontWeight="SemiBold"/>
|
||||
<TextBlock Text="Default Commit Type" FontWeight="SemiBold" Foreground="{StaticResource TextSecondaryBrush}"/>
|
||||
<ComboBox ItemsSource="{Binding CommitTypes}"
|
||||
SelectedItem="{Binding DefaultCommitType}"
|
||||
MinWidth="150"/>
|
||||
|
||||
<Border Height="1" Background="{StaticResource BorderSubtleBrush}" Margin="0,6,0,2"/>
|
||||
|
||||
<TextBlock Text="Agent Config" FontWeight="Bold" FontSize="13"
|
||||
Foreground="{StaticResource TextPrimaryBrush}"/>
|
||||
|
||||
<TextBlock Text="Model" FontWeight="SemiBold"
|
||||
Foreground="{StaticResource TextSecondaryBrush}"/>
|
||||
<ComboBox ItemsSource="{Binding ModelDisplayNames}"
|
||||
SelectedItem="{Binding Model}"
|
||||
MinWidth="150"/>
|
||||
|
||||
<TextBlock Text="System Prompt" FontWeight="SemiBold"
|
||||
Foreground="{StaticResource TextSecondaryBrush}"/>
|
||||
<TextBox Text="{Binding SystemPrompt}"
|
||||
PlaceholderText="(optional) Additional system instructions..."
|
||||
AcceptsReturn="True" TextWrapping="Wrap" MinHeight="50"/>
|
||||
|
||||
<TextBlock Text="Agent File" FontWeight="SemiBold"
|
||||
Foreground="{StaticResource TextSecondaryBrush}"/>
|
||||
<ComboBox ItemsSource="{Binding AvailableAgents}"
|
||||
SelectedItem="{Binding SelectedAgent}"
|
||||
MinWidth="150">
|
||||
<ComboBox.ItemTemplate>
|
||||
<DataTemplate x:DataType="svc:AgentInfo">
|
||||
<TextBlock Text="{Binding Name}"/>
|
||||
</DataTemplate>
|
||||
</ComboBox.ItemTemplate>
|
||||
</ComboBox>
|
||||
|
||||
<StackPanel Orientation="Horizontal" Spacing="8" HorizontalAlignment="Right" Margin="0,10,0,0">
|
||||
<Button Content="Save" Command="{Binding SaveCommand}" IsDefault="True" MinWidth="80"/>
|
||||
<Button Content="Save" Command="{Binding SaveCommand}" IsDefault="True" MinWidth="80"
|
||||
Background="{StaticResource AccentBrush}" Foreground="{StaticResource TextPrimaryBrush}"/>
|
||||
<Button Content="Cancel" Command="{Binding CancelCommand}" IsCancel="True" MinWidth="80"/>
|
||||
</StackPanel>
|
||||
</StackPanel>
|
||||
|
||||
@@ -6,35 +6,37 @@
|
||||
Title="{Binding WindowTitle}"
|
||||
Width="500" Height="420"
|
||||
WindowStartupLocation="CenterOwner"
|
||||
CanResize="False">
|
||||
CanResize="False"
|
||||
Background="{StaticResource WindowBgBrush}">
|
||||
<StackPanel Margin="16" Spacing="10">
|
||||
<TextBlock Text="Title" FontWeight="SemiBold"/>
|
||||
<TextBlock Text="Title" FontWeight="SemiBold" Foreground="{StaticResource TextSecondaryBrush}"/>
|
||||
<TextBox Text="{Binding Title}" PlaceholderText="Task title..."/>
|
||||
|
||||
<TextBlock Text="Description" FontWeight="SemiBold"/>
|
||||
<TextBlock Text="Description" FontWeight="SemiBold" Foreground="{StaticResource TextSecondaryBrush}"/>
|
||||
<TextBox Text="{Binding Description}" PlaceholderText="(optional)" AcceptsReturn="True"
|
||||
TextWrapping="Wrap" MinHeight="80"/>
|
||||
|
||||
<Grid ColumnDefinitions="*,16,*">
|
||||
<StackPanel Grid.Column="0" Spacing="4">
|
||||
<TextBlock Text="Status" FontWeight="SemiBold"/>
|
||||
<TextBlock Text="Status" FontWeight="SemiBold" Foreground="{StaticResource TextSecondaryBrush}"/>
|
||||
<ComboBox ItemsSource="{Binding StatusChoices}"
|
||||
SelectedItem="{Binding StatusChoice}"
|
||||
MinWidth="120"/>
|
||||
</StackPanel>
|
||||
<StackPanel Grid.Column="2" Spacing="4">
|
||||
<TextBlock Text="Commit Type" FontWeight="SemiBold"/>
|
||||
<TextBlock Text="Commit Type" FontWeight="SemiBold" Foreground="{StaticResource TextSecondaryBrush}"/>
|
||||
<ComboBox ItemsSource="{Binding CommitTypes}"
|
||||
SelectedItem="{Binding CommitType}"
|
||||
MinWidth="120"/>
|
||||
</StackPanel>
|
||||
</Grid>
|
||||
|
||||
<TextBlock Text="Tags (comma-separated)" FontWeight="SemiBold"/>
|
||||
<TextBlock Text="Tags (comma-separated)" FontWeight="SemiBold" Foreground="{StaticResource TextSecondaryBrush}"/>
|
||||
<TextBox Text="{Binding TagsInput}" PlaceholderText="agent, manual, code, ..."/>
|
||||
|
||||
<StackPanel Orientation="Horizontal" Spacing="8" HorizontalAlignment="Right" Margin="0,10,0,0">
|
||||
<Button Content="Save" Command="{Binding SaveCommand}" IsDefault="True" MinWidth="80"/>
|
||||
<Button Content="Save" Command="{Binding SaveCommand}" IsDefault="True" MinWidth="80"
|
||||
Background="{StaticResource AccentBrush}" Foreground="{StaticResource TextPrimaryBrush}"/>
|
||||
<Button Content="Cancel" Command="{Binding CancelCommand}" IsCancel="True" MinWidth="80"/>
|
||||
</StackPanel>
|
||||
</StackPanel>
|
||||
|
||||
Reference in New Issue
Block a user