feat(ui): collapse parent task rows by default with granular row sync

This commit is contained in:
Mika Kuns
2026-06-25 13:48:08 +02:00
parent d80a57836c
commit 38defee3d8
6 changed files with 66 additions and 60 deletions

View File

@@ -87,10 +87,10 @@
VerticalAlignment="Center"
ToolTip.Tip="{loc:Tr tasks.toggleSubtasksTip}">
<Panel>
<TextBlock Classes="meta" Text="▾" IsVisible="{Binding IsExpanded}"
VerticalAlignment="Center" HorizontalAlignment="Center"/>
<TextBlock Classes="meta" Text="▸" IsVisible="{Binding !IsExpanded}"
VerticalAlignment="Center" HorizontalAlignment="Center"/>
<PathIcon Width="12" Height="12" Data="{StaticResource Icon.ChevronDown}"
Foreground="{DynamicResource TextDimBrush}" IsVisible="{Binding IsExpanded}"/>
<PathIcon Width="12" Height="12" Data="{StaticResource Icon.ChevronRight}"
Foreground="{DynamicResource TextDimBrush}" IsVisible="{Binding !IsExpanded}"/>
</Panel>
</Button>

View File

@@ -1,12 +1,7 @@
using System.Linq;
using Avalonia;
using Avalonia.Animation;
using Avalonia.Animation.Easings;
using Avalonia.Controls;
using Avalonia.Controls.Primitives;
using Avalonia.Interactivity;
using Avalonia.Media;
using Avalonia.Styling;
using Avalonia.VisualTree;
using ClaudeDo.Data.Models;
using ClaudeDo.Ui.ViewModels.Islands;
@@ -123,24 +118,4 @@ public partial class TaskRowView : UserControl
ScheduleAnchor.Flyout?.Hide();
_pendingScheduleRow = null;
}
protected override async void OnAttachedToVisualTree(VisualTreeAttachmentEventArgs e)
{
base.OnAttachedToVisualTree(e);
RenderTransform = new TranslateTransform(0, 8);
Opacity = 0;
var anim = new Avalonia.Animation.Animation
{
Duration = TimeSpan.FromMilliseconds(300),
Easing = new CubicEaseOut(),
Children =
{
new KeyFrame { Cue = new Cue(0), Setters = { new Setter(OpacityProperty, 0d) } },
new KeyFrame { Cue = new Cue(1), Setters = { new Setter(OpacityProperty, 1d) } },
}
};
await anim.RunAsync(this);
Opacity = 1;
RenderTransform = null;
}
}