feat(myqbz): Slint My QBZ sidebar nav + read-only Mixtapes/Collections grids
Phase-2 Slice 2 of the MyQBZ port. Wires the mixtape DB + the first
visually-reachable surface in Slint (read-only):
- Migrations: run qbz_mixtape::schema::run_mixtape_migrations in enter_shell
(via library_db with_db -> with_connection), best-effort, on session open —
same per-user library.db the Tauri build migrates.
- Glue: new src/myqbz.rs mirrors playlist_manager.rs — list_collections via the
shared crate (items hydrated), model/sort/filter builders, mosaic artwork jobs,
navigate. NavEntry::Mixtapes/Collections + back/forward + scroll-restore scopes.
- UI: ui/myqbz/{MixtapesView,CollectionsView,CollectionMosaic,MyQbzShared}.slint,
1:1 with specs 10/11 (208px grid, mosaic custom->2x2/3x3->kind-glyph, toolbar,
both empty states, ICU plural). MixtapeCardItem + MyQbzState/MyQbzActions in
state.slint; mounted in AppShell. My QBZ sidebar entry routed to the two grids
(branded mask-tinted icons), matching the port's existing flyout-nav idiom.
Read-only boundary: create/open-detail are logging stubs; titlebar My QBZ
dropdown and the Settings>Appearance rename (DQ3) are deferred to later slices.
Backend crates untouched. cargo check -p qbz-slint green.
cc
This commit is contained in:
18 files changed
+1996
-5
No files matched your search
@@ -0,0 +1,2 @@
|
||||
<?xml version="1.0" ?><!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.1//EN' 'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'><!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
|
||||
<svg fill="#000000" width="800px" height="800px" viewBox="0 0 32 32" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;" version="1.1" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:serif="http://www.serif.com/" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M25.338,6l-1.559,5.285c-0.126,0.425 -0.516,0.717 -0.96,0.717l-14.138,-0c-0.444,-0 -0.834,-0.292 -0.96,-0.717l-1.559,-5.285l-1.162,0c-0.796,0 -1.559,0.316 -2.121,0.879c-0.563,0.562 -0.879,1.325 -0.879,2.121c0,3.462 -0,10.533 0,13.995c-0,0.796 0.316,1.559 0.879,2.122c0.562,0.562 1.325,0.878 2.121,0.878l22,0c0.796,0 1.559,-0.316 2.121,-0.878c0.563,-0.563 0.879,-1.326 0.879,-2.122l-0,-13.995c0,-0.796 -0.316,-1.559 -0.879,-2.121c-0.562,-0.563 -1.325,-0.879 -2.121,-0.879l-1.662,-0Zm-6.756,14l-5.118,0.001c0.341,-0.588 0.536,-1.272 0.536,-2c0,-2.207 -1.792,-3.999 -3.999,-3.999c-2.207,-0 -3.999,1.792 -3.999,3.999c-0,2.185 1.757,3.964 3.934,3.998c0.022,0.002 0.043,0.003 0.065,0.003l12.044,-0.002c2.207,-0 3.999,-1.792 3.999,-3.999c0,-2.207 -1.792,-3.999 -3.999,-3.999c-2.207,-0 -3.999,1.792 -3.999,3.999c-0,0.728 0.195,1.411 0.536,1.999Zm-8.581,-3.998c1.103,-0 1.999,0.895 1.999,1.999c-0,1.103 -0.896,1.999 -1.999,1.999c-1.104,0 -1.999,-0.896 -1.999,-1.999c-0,-1.104 0.895,-1.999 1.999,-1.999Zm12.044,-0c1.104,-0 1.999,0.895 1.999,1.999c0,1.103 -0.895,1.999 -1.999,1.999c-1.103,0 -1.999,-0.896 -1.999,-1.999c-0,-1.104 0.896,-1.999 1.999,-1.999Zm1.207,-10.002l-15.004,-0l1.18,4.002c0,-0 12.644,-0 12.644,-0l1.18,-4.002Z"/></svg>
|
||||
|
After Width: | Height: | Size: 1.7 KiB |
@@ -0,0 +1,30 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
|
||||
<svg fill="#000000" height="800px" width="800px" version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
viewBox="0 0 60.02 60.02" xml:space="preserve">
|
||||
<g>
|
||||
<path d="M59.766,15.896l-0.363-0.386h-1.837l0.409-3.34c0.043-0.424-0.097-0.848-0.382-1.163c-0.286-0.315-0.694-0.497-1.12-0.497
|
||||
h-2.437V7c0-0.821-0.669-1.49-1.491-1.49h-2.509V2c0-0.821-0.669-1.49-1.491-1.49H11.526c-0.821,0-1.49,0.669-1.49,1.49v3.51h-2.51
|
||||
c-0.821,0-1.49,0.669-1.49,1.49v3.51H3.599c-0.426,0-0.834,0.182-1.12,0.497c-0.285,0.315-0.425,0.739-0.379,1.185l0.406,3.318
|
||||
h-1.37c-0.321,0-0.623,0.141-0.83,0.386L0,16.306l5.959,41.856c0.138,0.781,0.813,1.348,1.605,1.348h44.942
|
||||
c0.791,0,1.467-0.565,1.611-1.38l5.886-41.352C60.059,16.462,59.972,16.141,59.766,15.896z M12.036,2.51h36v3h-36V2.51z
|
||||
M8.036,7.51h2h40h2v3h-44V7.51z M4.153,12.51h1.883h48h1.882l-0.367,3H4.521L4.153,12.51z M29.536,54.51
|
||||
c-11.304,0-20.5-7.626-20.5-17s9.196-17,20.5-17s20.5,7.626,20.5,17S40.84,54.51,29.536,54.51z"/>
|
||||
<path d="M30.536,25.449c0-0.553-0.447-1-1-1c-3.993,0-7.778,1.21-10.946,3.499c-0.447,0.323-0.548,0.948-0.225,1.396
|
||||
c0.195,0.271,0.501,0.414,0.812,0.414c0.203,0,0.407-0.062,0.585-0.189c2.824-2.041,6.204-3.12,9.774-3.12
|
||||
C30.089,26.449,30.536,26.002,30.536,25.449z"/>
|
||||
<path d="M30.536,29.2c0-0.553-0.447-1-1-1c-3.105,0-6.049,0.941-8.512,2.723c-0.447,0.324-0.548,0.949-0.225,1.396
|
||||
c0.196,0.271,0.501,0.414,0.812,0.414c0.203,0,0.408-0.062,0.585-0.189c2.12-1.533,4.658-2.344,7.34-2.344
|
||||
C30.089,30.2,30.536,29.753,30.536,29.2z"/>
|
||||
<path d="M30.536,32.95c0-0.553-0.447-1-1-1c-2.229,0-4.339,0.68-6.104,1.967c-0.446,0.325-0.545,0.95-0.219,1.396
|
||||
c0.195,0.269,0.5,0.411,0.809,0.411c0.204,0,0.41-0.063,0.588-0.192c1.42-1.035,3.124-1.582,4.926-1.582
|
||||
C30.089,33.95,30.536,33.503,30.536,32.95z"/>
|
||||
<path d="M39.4,45.638c-2.824,2.042-6.204,3.121-9.774,3.121c-0.553,0-1,0.447-1,1s0.447,1,1,1c3.994,0,7.779-1.21,10.946-3.5
|
||||
c0.447-0.324,0.548-0.949,0.225-1.396C40.474,45.414,39.847,45.314,39.4,45.638z"/>
|
||||
<path d="M28.626,46.008c0,0.553,0.447,1,1,1c3.106,0,6.05-0.942,8.512-2.724c0.448-0.324,0.548-0.949,0.225-1.396
|
||||
c-0.325-0.448-0.95-0.548-1.396-0.225c-2.119,1.534-4.657,2.345-7.34,2.345C29.073,45.008,28.626,45.455,28.626,46.008z"/>
|
||||
<path d="M28.626,42.257c0,0.553,0.447,1,1,1c2.23,0,4.341-0.68,6.104-1.967c0.445-0.325,0.544-0.951,0.218-1.397
|
||||
c-0.324-0.444-0.949-0.544-1.397-0.218c-1.418,1.035-3.121,1.582-4.925,1.582C29.073,41.257,28.626,41.704,28.626,42.257z"/>
|
||||
<ellipse cx="29.932" cy="37.494" rx="2.327" ry="1.689"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.6 KiB |
@@ -0,0 +1,28 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
|
||||
<svg fill="#000000" height="800px" width="800px" version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
viewBox="0 0 512 512" xml:space="preserve">
|
||||
<g>
|
||||
<g>
|
||||
<path d="M166.892,99.747c-12.889-27.663-43.766-40.842-71.335-27.967c-14.258,6.651-22.198,17.733-26.243,29.223
|
||||
c-11.397-4.285-25.003-5.346-39.251,1.316C3.213,114.837-7.522,146.742,5.627,174.954c16.116,34.534,55.622,38.495,111.4,54.09
|
||||
c7.76,2.181,16.246-1.56,19.707-9.19C160.718,166.918,182.991,134.249,166.892,99.747z"/>
|
||||
</g>
|
||||
</g>
|
||||
<g>
|
||||
<g>
|
||||
<path d="M481.909,35.499c-14.247-6.651-27.842-5.606-39.251-1.316c-4.046-11.49-11.974-22.573-26.243-29.223
|
||||
c-27.527-12.855-58.426,0.268-71.335,27.961c-16.117,34.549,6.257,67.359,30.158,120.113c3.46,7.63,11.948,11.371,19.707,9.19
|
||||
c56.133-15.678,95.338-19.642,111.4-54.09C519.237,80.514,509.537,48.382,481.909,35.499z"/>
|
||||
</g>
|
||||
</g>
|
||||
<g>
|
||||
<g>
|
||||
<path d="M348.952,180.767c-4.589-3.105-10.419-3.746-15.564-1.675l-167.052,66.821c-6.35,2.534-10.505,8.679-10.505,15.509v185.81
|
||||
c-5.25-1.248-10.818-2.052-16.705-2.052c-27.635,0-50.116,14.987-50.116,33.41c0,18.424,22.481,33.41,50.116,33.41
|
||||
c27.635,0,50.116-14.987,50.116-33.41c0-0.762,0-172.449,0-172.449l133.642-53.454v127.725c-5.25-1.248-10.818-2.052-16.705-2.052
|
||||
c-27.635,0-50.116,14.987-50.116,33.41s22.481,33.41,50.116,33.41c27.635,0,50.116-14.987,50.116-33.41
|
||||
c0-0.762,0-217.168,0-217.168C356.294,189.06,353.542,183.878,348.952,180.767z"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.6 KiB |
@@ -0,0 +1,4 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#ffffff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
||||
<path d="M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8" />
|
||||
<path d="M3 3v5h5" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 273 B |
Reference in new issue
Block a user