style(ui): task section dividers overdue/tasks/completed
Expose OverdueItems / OpenItems / CompletedItems as separate observable collections recomputed in LoadForList (and after add / toggle-done). - OverdueItems: ScheduledFor.Date < Today && !Done - OpenItems: remaining !Done - CompletedItems: Done View renders three sections with eyebrow-style headers: - OVERDUE (blood accent, only when non-empty) - TASKS (shown only when overdue is also visible, matching the mock) - COMPLETED · N (hidden when IsShowingCompleted is false) Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -33,7 +33,9 @@ public sealed partial class TasksIslandViewModel : ViewModelBase
|
||||
[ObservableProperty] private bool _hasStatusPill;
|
||||
[ObservableProperty] private bool _isShowingCompleted = true;
|
||||
[ObservableProperty] private bool _hasOverdue;
|
||||
[ObservableProperty] private bool _hasOpen;
|
||||
[ObservableProperty] private bool _hasCompleted;
|
||||
[ObservableProperty] private bool _showOpenLabel;
|
||||
[ObservableProperty] private string _completedHeader = "COMPLETED";
|
||||
|
||||
public TasksIslandViewModel(IDbContextFactory<ClaudeDoDbContext> dbFactory)
|
||||
@@ -53,8 +55,10 @@ public sealed partial class TasksIslandViewModel : ViewModelBase
|
||||
OverdueItems.Clear();
|
||||
OpenItems.Clear();
|
||||
CompletedItems.Clear();
|
||||
HasOverdue = false;
|
||||
HasCompleted = false;
|
||||
HasOverdue = false;
|
||||
HasOpen = false;
|
||||
HasCompleted = false;
|
||||
ShowOpenLabel = false;
|
||||
if (list is null) return;
|
||||
|
||||
HeaderTitle = list.Name;
|
||||
@@ -112,8 +116,10 @@ public sealed partial class TasksIslandViewModel : ViewModelBase
|
||||
OpenItems.Add(r);
|
||||
}
|
||||
|
||||
HasOverdue = OverdueItems.Count > 0;
|
||||
HasCompleted = CompletedItems.Count > 0;
|
||||
HasOverdue = OverdueItems.Count > 0;
|
||||
HasOpen = OpenItems.Count > 0;
|
||||
HasCompleted = CompletedItems.Count > 0;
|
||||
ShowOpenLabel = HasOpen && HasOverdue;
|
||||
CompletedHeader = $"COMPLETED · {CompletedItems.Count}";
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user