docs: close Phase 2.2/2.3 — move to COMPLETED.md, update DeepDrftPublic proxy CLAUDE.md
This commit is contained in:
@@ -79,25 +79,6 @@ These were flagged during the audit but classified as feature work, not defect f
|
||||
|
||||
These follow from `CONTEXT.md §5`. Direction is strongly implied but no specific UI has been committed.
|
||||
|
||||
### 2.2 Album and genre views
|
||||
|
||||
- **What:** `TrackCard` already renders album/genre/release date; the data is there. Missing are gallery groupings (album view, genre view), filters, and the API-side support for filter expressions in `TrackService.GetPaged`.
|
||||
- **Why it matters:** The track gallery is the only working content surface. Multiple views over the same library is how it earns the "gallery" name.
|
||||
- **Shape:** Per `CONTEXT.md §6`, the convention is one source of truth, multiple views over it. New views should consume the same `TracksViewModel` / `PagedResult<TrackEntity>` and differ only at the rendering layer.
|
||||
- `TrackService.GetPaged` extended to accept a filter expression (or a simple structured filter DTO).
|
||||
- `PagingParameters<T>` extended with a `Where: Expression<Func<T, bool>>?` or a parallel `FilterParameters<T>` — pick one to avoid drift.
|
||||
- New routes (`/albums`, `/genres`) consume the same VM with different grouping / filter inputs.
|
||||
- **Prerequisite:** **2.1** for any view that prominently features cover art (album view especially is impoverished without it).
|
||||
|
||||
|
||||
### 2.3 Search and filter on the gallery
|
||||
|
||||
- **What:** `TracksViewModel` exposes sort but no filter. `TrackService.GetPaged` accepts only sort. Simple text search across `TrackName` / `Artist` / `Album` is the obvious first cut.
|
||||
- **Why it matters:** Once the library has more than ~30 entries, sort-only browsing is friction.
|
||||
- **Shape:** Same extension to `GetPaged` as 2.2. UI is a debounced text input bound to the VM's filter property. EF Core translates `Contains` to SQLite `LIKE`.
|
||||
- **Prerequisite:** Fold into 2.2 if both are being done — the same `GetPaged` extension serves both. Doing them separately doubles the API churn.
|
||||
|
||||
|
||||
---
|
||||
|
||||
## Phase 3 — New content kinds
|
||||
|
||||
Reference in New Issue
Block a user