feat(myqbz): create-new Mixtape/Collection modal + wiring
Phase-2 Slice 4. The grid "+ New" buttons open a create modal (name + kind radio: mixtape/collection, artist_collection excluded), create via the shared crate, and drop the user into the new collection's detail (1:1 with Tauri's submitCreateModal -> openMixtapeDetail). The new row prepends to its kind. - ui/myqbz/CreateMyQbzModal.slint (mirrors CreatePlaylistModal/CreateFolderModal idiom; spec 30 create-modal geometry). - MyQbzCreateState/MyQbzCreateActions in state.slint; mounted in AppShell. - src/myqbz.rs create_collection via with_db -> with_connection -> qbz_mixtape::repo::create_collection (Manual, 80-char cap). - Un-stubbed on_create_mixtape/on_create_collection; trim + busy guards; toast. Backend crates untouched. cargo check -p qbz-slint green. cc
This commit is contained in:
6 files changed
+368
-4
No files matched your search
@@ -20,6 +20,7 @@ import { PlaylistPickerModal } from "../primitives/PlaylistPickerModal.slint";
|
||||
import { CreatePlaylistModal } from "../primitives/CreatePlaylistModal.slint";
|
||||
import { EditPlaylistModal } from "../primitives/EditPlaylistModal.slint";
|
||||
import { CreateFolderModal } from "../primitives/CreateFolderModal.slint";
|
||||
import { CreateMyQbzModal } from "../myqbz/CreateMyQbzModal.slint";
|
||||
import { EphemeralPlayChoiceModal } from "../primitives/EphemeralPlayChoiceModal.slint";
|
||||
import { FolderEditModal } from "../primitives/FolderEditModal.slint";
|
||||
import { LibFolderEditModal } from "../settings/LibFolderEditModal.slint";
|
||||
@@ -381,6 +382,9 @@ export component AppShell inherits Rectangle {
|
||||
// Global "Create folder" modal.
|
||||
CreateFolderModal { }
|
||||
|
||||
// Global "Create Mixtape / Collection" modal (My QBZ "+ New").
|
||||
CreateMyQbzModal { }
|
||||
|
||||
// Ephemeral "already playing" add-vs-replace choice.
|
||||
EphemeralPlayChoiceModal { }
|
||||
|
||||
|
||||
Reference in new issue
Block a user