feat(daily-prep): add Prepare-day button to MyDay header
This commit is contained in:
@@ -67,6 +67,7 @@
|
|||||||
"addPlaceholder": "Aufgabe hinzufügen…",
|
"addPlaceholder": "Aufgabe hinzufügen…",
|
||||||
"enterKey": "ENTER",
|
"enterKey": "ENTER",
|
||||||
"notesPinnedRow": "Notizen (Tagesnotizen)",
|
"notesPinnedRow": "Notizen (Tagesnotizen)",
|
||||||
|
"prepareDay": "Tag vorbereiten",
|
||||||
"overdue": "ÜBERFÄLLIG",
|
"overdue": "ÜBERFÄLLIG",
|
||||||
"tasks": "AUFGABEN",
|
"tasks": "AUFGABEN",
|
||||||
"clearCompletedTip": "Alle abgeschlossenen löschen",
|
"clearCompletedTip": "Alle abgeschlossenen löschen",
|
||||||
|
|||||||
@@ -67,6 +67,7 @@
|
|||||||
"addPlaceholder": "Add a task…",
|
"addPlaceholder": "Add a task…",
|
||||||
"enterKey": "ENTER",
|
"enterKey": "ENTER",
|
||||||
"notesPinnedRow": "Notes (daily notes)",
|
"notesPinnedRow": "Notes (daily notes)",
|
||||||
|
"prepareDay": "Prepare day",
|
||||||
"overdue": "OVERDUE",
|
"overdue": "OVERDUE",
|
||||||
"tasks": "TASKS",
|
"tasks": "TASKS",
|
||||||
"clearCompletedTip": "Clear all completed",
|
"clearCompletedTip": "Clear all completed",
|
||||||
|
|||||||
@@ -36,6 +36,14 @@ public sealed partial class TasksIslandViewModel : ViewModelBase
|
|||||||
NotesRequested?.Invoke();
|
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> Items { get; } = new();
|
||||||
public ObservableCollection<TaskRowViewModel> OverdueItems { get; } = new();
|
public ObservableCollection<TaskRowViewModel> OverdueItems { get; } = new();
|
||||||
public ObservableCollection<TaskRowViewModel> OpenItems { get; } = new();
|
public ObservableCollection<TaskRowViewModel> OpenItems { get; } = new();
|
||||||
@@ -55,6 +63,7 @@ public sealed partial class TasksIslandViewModel : ViewModelBase
|
|||||||
[ObservableProperty] private bool _showOpenLabel;
|
[ObservableProperty] private bool _showOpenLabel;
|
||||||
[ObservableProperty] private string _completedHeader = "";
|
[ObservableProperty] private string _completedHeader = "";
|
||||||
[ObservableProperty] private bool _showNotesRow;
|
[ObservableProperty] private bool _showNotesRow;
|
||||||
|
[ObservableProperty] private bool _isMyDayList;
|
||||||
|
|
||||||
public Func<UnfinishedPlanningModalViewModel, Task>? ShowUnfinishedPlanningModal { get; set; }
|
public Func<UnfinishedPlanningModalViewModel, Task>? ShowUnfinishedPlanningModal { get; set; }
|
||||||
|
|
||||||
@@ -201,6 +210,7 @@ public sealed partial class TasksIslandViewModel : ViewModelBase
|
|||||||
HeaderTitle = list.Name;
|
HeaderTitle = list.Name;
|
||||||
HeaderEyebrow = DateTime.Now.ToString("dddd · MMM dd", CultureInfo.InvariantCulture).ToUpperInvariant();
|
HeaderEyebrow = DateTime.Now.ToString("dddd · MMM dd", CultureInfo.InvariantCulture).ToUpperInvariant();
|
||||||
ShowNotesRow = list.Id == "smart:my-day";
|
ShowNotesRow = list.Id == "smart:my-day";
|
||||||
|
IsMyDayList = list.Id == "smart:my-day";
|
||||||
|
|
||||||
_ = LoadForListAsync(list, ct);
|
_ = LoadForListAsync(list, ct);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -74,6 +74,14 @@
|
|||||||
Command="{Binding OpenNotesCommand}"
|
Command="{Binding OpenNotesCommand}"
|
||||||
Content="{loc:Tr tasks.notesPinnedRow}"/>
|
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 -->
|
<!-- Task list -->
|
||||||
<ScrollViewer>
|
<ScrollViewer>
|
||||||
<StackPanel Margin="10,4">
|
<StackPanel Margin="10,4">
|
||||||
|
|||||||
Reference in New Issue
Block a user