feat(library): genre sliders, artist links, and navigation utils
- music landing: diverse per-genre album sliders (online counts / offline wide-probe fallback) and home-screen library shortcuts - add ArtistLinks component and shared navigation/genreDiversity utils - player/playback-mode refinements across Rust and frontend
This commit is contained in:
+10
-2
@@ -356,6 +356,9 @@ fn specta_builder() -> Builder<tauri::Wry> {
|
||||
// Throw on error so generated `commands.*` return Promise<T> and throw,
|
||||
// matching the existing frontend's invoke() try/catch convention.
|
||||
.error_handling(tauri_specta::ErrorHandlingMode::Throw)
|
||||
.events(tauri_specta::collect_events![
|
||||
crate::player::events::PlayerStatusEvent
|
||||
])
|
||||
.commands(tauri_specta::collect_commands![
|
||||
// Player commands
|
||||
player_play_item,
|
||||
@@ -601,11 +604,17 @@ pub fn run() {
|
||||
// `.export()` here would try to write `../src/lib/api/bindings.ts` at app
|
||||
// startup, which panics on devices (e.g. Android) where that path doesn't exist.
|
||||
let builder = specta_builder();
|
||||
let invoke_handler = builder.invoke_handler();
|
||||
|
||||
tauri::Builder::default()
|
||||
.plugin(tauri_plugin_opener::init())
|
||||
.plugin(tauri_plugin_os::init())
|
||||
.setup(|app| {
|
||||
.invoke_handler(invoke_handler)
|
||||
.setup(move |app| {
|
||||
// Mount tauri-specta events so PlayerStatusEvent can be emitted to and
|
||||
// listened for on the frontend via the generated bindings.
|
||||
builder.mount_events(app);
|
||||
|
||||
// Initialize database with proper app data directory
|
||||
// Check for test mode environment variable first
|
||||
let db_path = if let Ok(test_data_dir) = std::env::var("JELLYTAU_DATA_DIR") {
|
||||
@@ -845,7 +854,6 @@ pub fn run() {
|
||||
info!("[INIT] Application setup completed successfully");
|
||||
Ok(())
|
||||
})
|
||||
.invoke_handler(builder.invoke_handler())
|
||||
.run(tauri::generate_context!())
|
||||
.expect("error while running tauri application");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user