using System.Globalization; using Avalonia.Data.Converters; using ClaudeDo.Data.Models; using TaskStatus = ClaudeDo.Data.Models.TaskStatus; namespace ClaudeDo.Ui.Converters; /// /// Returns true when the bound TaskStatus equals the ConverterParameter string. /// Usage: Classes.running="{Binding Status, Converter={StaticResource EqStatus}, ConverterParameter=Running}" /// public class EqStatusConverter : IValueConverter { public static EqStatusConverter Instance { get; } = new(); public object Convert(object? value, Type targetType, object? parameter, CultureInfo culture) { if (value is TaskStatus status && parameter is string name && Enum.TryParse(name, ignoreCase: true, out var target)) return status == target; return false; } public object ConvertBack(object? value, Type targetType, object? parameter, CultureInfo culture) => throw new NotSupportedException(); }