From 8193eebf1369c2bf32b19c6441245cf7d1c9c182 Mon Sep 17 00:00:00 2001 From: Connor Johnstone Date: Wed, 1 Apr 2026 22:32:52 -0400 Subject: [PATCH] several small ui updates, plus hopefully a track-matching fix --- frontend/src/pages/playlists.rs | 131 +++++++++++++++++++++----------- frontend/src/types.rs | 2 +- frontend/style.css | 53 +++++++++++++ src/routes/subsonic/browsing.rs | 119 +++++++++++++++++++++++++++++ src/routes/subsonic/mod.rs | 8 ++ 5 files changed, 268 insertions(+), 45 deletions(-) diff --git a/frontend/src/pages/playlists.rs b/frontend/src/pages/playlists.rs index 5eeb53e..3b4a59d 100644 --- a/frontend/src/pages/playlists.rs +++ b/frontend/src/pages/playlists.rs @@ -41,7 +41,7 @@ pub fn playlists_page() -> Html { let seed_input = use_state(String::new); let seed_focused = use_state(|| false); let seeds = use_state(Vec::::new); - let count = use_state(|| 50usize); + let count = use_state(|| 30usize); let popularity_bias = use_state(|| 5u8); let ordering = use_state(|| "interleave".to_string()); let discovery_range = use_state(|| 5u8); @@ -129,11 +129,23 @@ pub fn playlists_page() -> Html { ordering: ordering_val, rules: None, discovery_range: Some(discovery_range_val), - global_popularity: if global_popularity_val > 0 { Some(global_popularity_val) } else { None }, + global_popularity: if global_popularity_val > 0 { + Some(global_popularity_val) + } else { + None + }, country_filter: if country_filter_val { Some(true) } else { None }, seed_weight: Some(seed_weight_val), - max_tracks_per_artist: if max_tpa_val > 0 { Some(max_tpa_val) } else { None }, - max_artists: if max_artists_val > 0 { Some(max_artists_val) } else { None }, + max_tracks_per_artist: if max_tpa_val > 0 { + Some(max_tpa_val) + } else { + None + }, + max_artists: if max_artists_val > 0 { + Some(max_artists_val) + } else { + None + }, }; match api::generate_playlist(&req).await { @@ -437,7 +449,11 @@ pub fn playlists_page() -> Html { } })} - + Html { }) }} /> -