using Avalonia.Data.Converters; using System; using System.Globalization; namespace Harmonia.UI.Converters; public sealed class SecondsToStringConverter : IValueConverter { public SecondsToStringConverter() { } public object? Convert(object? value, Type targetType, object? parameter, CultureInfo culture) { if (value is not double doubleValue) return null; TimeSpan timeSpan = TimeSpan.FromSeconds(doubleValue); if (timeSpan.Hours >= 1) return timeSpan.ToString(@"%h\:mm\:ss"); return timeSpan.ToString(@"%m\:ss"); } public object? ConvertBack(object? value, Type targetType, object? parameter, CultureInfo culture) { if (value == null) return null; if (value is not string stringValue) return null; return TimeSpan.Parse(stringValue); } }