feat(daily-prep): add Prepare-day button to MyDay header
This commit is contained in:
@@ -67,6 +67,7 @@
|
||||
"addPlaceholder": "Aufgabe hinzufügen…",
|
||||
"enterKey": "ENTER",
|
||||
"notesPinnedRow": "Notizen (Tagesnotizen)",
|
||||
"prepareDay": "Tag vorbereiten",
|
||||
"overdue": "ÜBERFÄLLIG",
|
||||
"tasks": "AUFGABEN",
|
||||
"clearCompletedTip": "Alle abgeschlossenen löschen",
|
||||
|
||||
@@ -67,6 +67,7 @@
|
||||
"addPlaceholder": "Add a task…",
|
||||
"enterKey": "ENTER",
|
||||
"notesPinnedRow": "Notes (daily notes)",
|
||||
"prepareDay": "Prepare day",
|
||||
"overdue": "OVERDUE",
|
||||
"tasks": "TASKS",
|
||||
"clearCompletedTip": "Clear all completed",
|
||||
|
||||
@@ -36,6 +36,14 @@ public sealed partial class TasksIslandViewModel : ViewModelBase
|
||||
NotesRequested?.Invoke();
|
||||
}
|
||||
|
||||
[RelayCommand]
|
||||
private async Task PrepareDayAsync()
|
||||
{
|
||||
if (_worker is null) return;
|
||||
try { await _worker.RunDailyPrepNowAsync(); }
|
||||
catch { /* worker offline; broadcast will reconcile on return */ }
|
||||
}
|
||||
|
||||
public ObservableCollection<TaskRowViewModel> Items { get; } = new();
|
||||
public ObservableCollection<TaskRowViewModel> OverdueItems { get; } = new();
|
||||
public ObservableCollection<TaskRowViewModel> OpenItems { get; } = new();
|
||||
@@ -55,6 +63,7 @@ public sealed partial class TasksIslandViewModel : ViewModelBase
|
||||
[ObservableProperty] private bool _showOpenLabel;
|
||||
[ObservableProperty] private string _completedHeader = "";
|
||||
[ObservableProperty] private bool _showNotesRow;
|
||||
[ObservableProperty] private bool _isMyDayList;
|
||||
|
||||
public Func<UnfinishedPlanningModalViewModel, Task>? ShowUnfinishedPlanningModal { get; set; }
|
||||
|
||||
@@ -201,6 +210,7 @@ public sealed partial class TasksIslandViewModel : ViewModelBase
|
||||
HeaderTitle = list.Name;
|
||||
HeaderEyebrow = DateTime.Now.ToString("dddd · MMM dd", CultureInfo.InvariantCulture).ToUpperInvariant();
|
||||
ShowNotesRow = list.Id == "smart:my-day";
|
||||
IsMyDayList = list.Id == "smart:my-day";
|
||||
|
||||
_ = LoadForListAsync(list, ct);
|
||||
}
|
||||
|
||||
@@ -74,6 +74,14 @@
|
||||
Command="{Binding OpenNotesCommand}"
|
||||
Content="{loc:Tr tasks.notesPinnedRow}"/>
|
||||
|
||||
<!-- Prepare Day button (My Day only) -->
|
||||
<Button DockPanel.Dock="Top"
|
||||
Classes="btn" HorizontalAlignment="Stretch" HorizontalContentAlignment="Left"
|
||||
Margin="16,0,16,8"
|
||||
IsVisible="{Binding IsMyDayList}"
|
||||
Command="{Binding PrepareDayCommand}"
|
||||
Content="{loc:Tr tasks.prepareDay}"/>
|
||||
|
||||
<!-- Task list -->
|
||||
<ScrollViewer>
|
||||
<StackPanel Margin="10,4">
|
||||
|
||||
Reference in New Issue
Block a user