From 79131f83c1f1def281fd75b0dc646fb5539cc984 Mon Sep 17 00:00:00 2001 From: mika kuns Date: Tue, 19 May 2026 09:42:33 +0200 Subject: [PATCH] feat(ui): add WorktreeStateColorConverter --- .../Converters/WorktreeStateColorConverter.cs | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 src/ClaudeDo.Ui/Converters/WorktreeStateColorConverter.cs diff --git a/src/ClaudeDo.Ui/Converters/WorktreeStateColorConverter.cs b/src/ClaudeDo.Ui/Converters/WorktreeStateColorConverter.cs new file mode 100644 index 0000000..c47833c --- /dev/null +++ b/src/ClaudeDo.Ui/Converters/WorktreeStateColorConverter.cs @@ -0,0 +1,24 @@ +using System.Globalization; +using Avalonia.Data.Converters; +using Avalonia.Media; +using ClaudeDo.Data.Models; + +namespace ClaudeDo.Ui.Converters; + +public sealed class WorktreeStateColorConverter : IValueConverter +{ + public object Convert(object? value, Type targetType, object? parameter, CultureInfo culture) => + value is WorktreeState state + ? state switch + { + WorktreeState.Active => new SolidColorBrush(Color.Parse("#42A5F5")), + WorktreeState.Merged => new SolidColorBrush(Color.Parse("#66BB6A")), + WorktreeState.Discarded => new SolidColorBrush(Color.Parse("#9E9E9E")), + WorktreeState.Kept => new SolidColorBrush(Color.Parse("#FFA726")), + _ => new SolidColorBrush(Colors.Gray), + } + : new SolidColorBrush(Colors.Gray); + + public object ConvertBack(object? value, Type targetType, object? parameter, CultureInfo culture) + => throw new NotSupportedException(); +}