using System.Globalization; using Avalonia.Data.Converters; namespace ClaudeDo.Ui.Converters; public sealed class TimeSpanToHhmmConverter : IValueConverter { public object? Convert(object? value, Type targetType, object? parameter, CultureInfo culture) => value is TimeSpan t ? $"{t.Hours:00}:{t.Minutes:00}" : "07:00"; public object? ConvertBack(object? value, Type targetType, object? parameter, CultureInfo culture) { if (value is not string s) return new TimeSpan(7, 0, 0); var parts = s.Split(':'); if (parts.Length == 2 && int.TryParse(parts[0], out var h) && h is >= 0 and <= 23 && int.TryParse(parts[1], out var m) && m is >= 0 and <= 59) return new TimeSpan(h, m, 0); return new TimeSpan(7, 0, 0); } }