fix(myqbz): final fidelity pass (uppercase, trim, expanded cache, bulk bar §13.1)
Phase-2 Slice 12d. - Discography Builder: uppercase eyebrow + ORDER BY + 6 column labels (BUILD ARTIST COLLECTION / YEAR/TYPE/ALBUM/TRACKS/SOURCE/QUALITY); Create now disables on a whitespace-only name (name-trimmed-empty computed in the controller). - Expanded-mode: per-item inline-track cache keyed by the stable source|source_item_id (survives filter/sort/search re-derive instead of re-fetching), cleared on open. - Inline tracks: go-to-album passes the parent item_type (playlist parent routes to the playlist view); duration 0 -> "--:--"; track number from the resolver order. - Detail bulk bar: completed the §13.1 set (Add to queue, Play next, Add to playlist, Add to Mixtape/Collection, Remove, Clear) via MultiSelectBar slots + bulk_enqueue (reuses the resolver) + the existing playlist picker; no invented primitive. - Stale comments corrected (dj-mix wired; mix-modal primary = Add to queue). Backend crates untouched. cargo check -p qbz-slint green. cc
This commit is contained in:
8 files changed
+349
-45
No files matched your search
@@ -1797,6 +1797,11 @@ export global DiscoBuilderState {
|
||||
|
||||
// The collection-name input (defaulted to "<artist> — Complete Discography").
|
||||
in-out property <string> collection-name: "";
|
||||
// Whether the name is empty AFTER trimming whitespace (Slint can't trim, so
|
||||
// the controller computes this on every name change). Gates the Create
|
||||
// button so a whitespace-only name disables it (spec 13 §2.13 / §10.19:
|
||||
// disabled = creating || selectedCount===0 || !collectionName.trim()).
|
||||
in property <bool> name-trimmed-empty: true;
|
||||
|
||||
// Order segmented control: "release_date" | "title" | "manual".
|
||||
in-out property <string> order-by: "release_date";
|
||||
|
||||
Reference in new issue
Block a user