feat(myqbz): Slint collection/mixtape detail view (read-only)
Phase-2 Slice 3. Opening a grid card navigates to the detail view:
- NavEntry::MixtapeDetail(id) + back/forward + scroll-restore; nav-in
un-stubs the grid card click.
- src/myqbz_detail.rs: get_collection via the shared crate (hydrated items),
load/apply/refresh deriving the render model (filter -> search -> sort).
- ui/myqbz/MixtapeDetailView.slint: hero (CollectionMosaic/custom cover, title,
kind eyebrow, meta), sticky toolbar (search/sort/type+source filter/reset/
select/view-mode), the item list in list + grid modes -- exact 8-col grid
(40 1fr 140 80 160 72 60 40), 56px rows, per item_type, source/quality cells.
Empty/loading/not-found states.
Read-only boundary: hero CTAs + per-row play/menu actions are logging stubs;
expanded-mode track expansion, in-detail modals, DJ-mix, bulk bar, and live
resolveItems (quality/plex source) are deferred. KNOWN DEVIATION: the hero
action row shows flat circles; the spec-3.6 layout (Play/Shuffle/DJ-mix +
MoreHorizontal overflow menu) is folded into Slice 7 (its overflow items are
the edit actions). Backend crates untouched. cargo check -p qbz-slint green.
cc