Improve Prime Time Picker
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
using System.Globalization;
|
||||
using ClaudeDo.Ui.Services;
|
||||
using CommunityToolkit.Mvvm.ComponentModel;
|
||||
|
||||
@@ -23,8 +24,26 @@ public sealed partial class PrimeScheduleRowViewModel : ViewModelBase
|
||||
|
||||
public string LastRunLabel => LastRunAt is { } v ? v.LocalDateTime.ToString("g") : "—";
|
||||
|
||||
private static readonly string[] TimeFormats = { @"h\:mm", @"hh\:mm" };
|
||||
|
||||
public string TimeText
|
||||
{
|
||||
get => TimeOfDay.ToString(@"hh\:mm", CultureInfo.InvariantCulture);
|
||||
set
|
||||
{
|
||||
if (TimeSpan.TryParseExact(value, TimeFormats, CultureInfo.InvariantCulture, out var t)
|
||||
&& t >= TimeSpan.Zero && t < TimeSpan.FromDays(1))
|
||||
{
|
||||
TimeOfDay = t;
|
||||
}
|
||||
OnPropertyChanged(nameof(TimeText));
|
||||
}
|
||||
}
|
||||
|
||||
partial void OnLastRunAtChanged(DateTimeOffset? value) => OnPropertyChanged(nameof(LastRunLabel));
|
||||
|
||||
partial void OnTimeOfDayChanged(TimeSpan value) => OnPropertyChanged(nameof(TimeText));
|
||||
|
||||
public PrimeScheduleRowViewModel(PrimeScheduleDto dto, bool isExisting)
|
||||
{
|
||||
Id = dto.Id;
|
||||
|
||||
Reference in New Issue
Block a user