feat(ui): add CheckboxBorderConverter for task status circles
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
30
src/ClaudeDo.Ui/Converters/CheckboxBorderConverter.cs
Normal file
30
src/ClaudeDo.Ui/Converters/CheckboxBorderConverter.cs
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
using System;
|
||||||
|
using System.Globalization;
|
||||||
|
using Avalonia.Data.Converters;
|
||||||
|
using Avalonia.Media;
|
||||||
|
|
||||||
|
namespace ClaudeDo.Ui.Converters;
|
||||||
|
|
||||||
|
public sealed class CheckboxBorderConverter : IValueConverter
|
||||||
|
{
|
||||||
|
public static readonly CheckboxBorderConverter Instance = new();
|
||||||
|
|
||||||
|
private static readonly ISolidColorBrush Gray = new SolidColorBrush(Color.Parse("#475569"));
|
||||||
|
private static readonly ISolidColorBrush Orange = new SolidColorBrush(Color.Parse("#e67e22"));
|
||||||
|
private static readonly ISolidColorBrush Green = new SolidColorBrush(Color.Parse("#3d9474"));
|
||||||
|
private static readonly ISolidColorBrush Red = new SolidColorBrush(Color.Parse("#ef4444"));
|
||||||
|
|
||||||
|
public object? Convert(object? value, Type targetType, object? parameter, CultureInfo culture)
|
||||||
|
{
|
||||||
|
return value?.ToString()?.ToLowerInvariant() switch
|
||||||
|
{
|
||||||
|
"running" => Orange,
|
||||||
|
"done" => Green,
|
||||||
|
"failed" => Red,
|
||||||
|
_ => Gray, // manual, queued
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
public object? ConvertBack(object? value, Type targetType, object? parameter, CultureInfo culture)
|
||||||
|
=> throw new NotSupportedException();
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user