Two non-blocking followups from the Plan C code review.
fix(ui): Planned status uses blue badge style - split the single badge planning Border into two (one for IsPlanning, one for IsPlanned) so .badge.planned (blue, #3182CE) is actually reachable. Previously Planned rows rendered with the amber Planning color. Added IsPlanning / IsPlanned computed properties on TaskRowViewModel, raised in OnStatusChanged.
refactor(ui): remove unused Instance statics on bool converters - BoolToItalicConverter.Instance and BoolToDraftOpacityConverter.Instance were never referenced (converters are registered via App.axaml resources). Deleted both.
## Summary
Two non-blocking followups from the Plan C code review.
- **fix(ui): Planned status uses blue badge style** - split the single `badge planning` Border into two (one for `IsPlanning`, one for `IsPlanned`) so `.badge.planned` (blue, `#3182CE`) is actually reachable. Previously Planned rows rendered with the amber Planning color. Added `IsPlanning` / `IsPlanned` computed properties on `TaskRowViewModel`, raised in `OnStatusChanged`.
- **refactor(ui): remove unused Instance statics on bool converters** - `BoolToItalicConverter.Instance` and `BoolToDraftOpacityConverter.Instance` were never referenced (converters are registered via `App.axaml` resources). Deleted both.
## Test plan
- [x] `dotnet build src/ClaudeDo.Ui/ClaudeDo.Ui.csproj` - 0 errors
- [x] `dotnet build src/ClaudeDo.App/ClaudeDo.App.csproj` - 0 errors
- [x] 8 planning VM tests pass (`TaskRowViewModelPlanningTests`, `TasksIslandPlanningTests`)
- [ ] Manual visual verification - seed Status=Planning (amber PLANNING badge), flip to Status=Planned (blue PLANNED badge), add Draft child (indented, italic, faded, grey DRAFT badge, chevron collapses/expands).
Previously both Planning and Planned rendered the same amber badge because a
single <Border class="badge planning"> was used. Split into two borders gated
by IsPlanning / IsPlanned so Planned picks up the blue badge.planned style.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
App.axaml registers these converters via the resource dictionary; the static
Instance members were never referenced.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Checking for merge conflicts…
View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
Two non-blocking followups from the Plan C code review.
badge planningBorder into two (one forIsPlanning, one forIsPlanned) so.badge.planned(blue,#3182CE) is actually reachable. Previously Planned rows rendered with the amber Planning color. AddedIsPlanning/IsPlannedcomputed properties onTaskRowViewModel, raised inOnStatusChanged.BoolToItalicConverter.InstanceandBoolToDraftOpacityConverter.Instancewere never referenced (converters are registered viaApp.axamlresources). Deleted both.Test plan
dotnet build src/ClaudeDo.Ui/ClaudeDo.Ui.csproj- 0 errorsdotnet build src/ClaudeDo.App/ClaudeDo.App.csproj- 0 errorsTaskRowViewModelPlanningTests,TasksIslandPlanningTests)View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.