vicrodh
c6aa61a09e
feat(myqbz): Discography Builder — artist_collection creation flow
Phase-2 Slice 11. The third MyQBZ kind (artist_collection / artist_discography),
1:1 with spec 13 (the 1445-line DiscographyBuilderView):
- ui/myqbz/DiscographyBuilderView.slint: header (artist avatar + name + eyebrow),
name input, 3-segment order-by, the 7-col grouped release table
(28 56 72 1fr 72 60 156) with tri-state select-all, primary + alternate rows
(↳ connector, source indicator, QualityBadge, per-row type-override popover),
footer (count + Create). Exact §0 dark colors + type tints.
- src/myqbz_builder.rs: candidate/group model + normalize/classify/quality-score;
THREE sources fully wired (Qobuz get_artist_page + local + Plex via the unified
metadata query); build_groups dedupes/buckets/quality-sorts (Qobuz wins ties);
persisted release-type override sidecar. Save = create_collection (ArtistCollection,
ArtistDiscography, source_ref=artist_id) + add_item per checked candidate in sort
order (Plex->local) -> navigate to the new collection's detail.
- Entry: the artist page "Build Artist Collection" button (was unwired).
Known polish nits (S12): view-wide uppercase eyebrow/labels; Create should disable
on whitespace-only name. Toast uses real strings (toast.collectionCreated/Failed are
absent from en.json; DQ4). Backend crates untouched. cargo check -p qbz-slint green.
cc
2026-06-09 07:19:06 -06:00
..
2026-06-07 21:44:33 -06:00
2026-05-31 16:50:29 -06:00
2026-05-18 14:11:05 -06:00
2026-05-16 14:38:29 -06:00
2026-04-07 07:04:33 -06:00
2026-06-08 10:27:28 -06:00
2026-05-18 14:11:05 -06:00
2026-05-29 15:32:16 -06:00
2026-06-09 01:44:39 -06:00
2026-06-06 16:45:04 -06:00
2026-06-09 02:16:20 -06:00
2026-06-08 09:03:37 -06:00
2026-05-28 08:28:46 -06:00
2026-06-08 10:27:28 -06:00
2026-06-09 01:44:39 -06:00
2026-06-05 15:11:48 -06:00
2026-05-21 07:49:01 -06:00
2026-04-17 00:53:01 -06:00
2026-06-09 07:19:06 -06:00
2026-06-05 21:09:26 -06:00
2026-06-03 17:28:37 -06:00
2026-06-05 17:44:11 -06:00
2026-06-01 03:50:18 -06:00
2026-06-09 06:42:39 -06:00
2026-06-09 02:16:20 -06:00