feat: music search filter/cont, refactored paginator
This commit is contained in:
parent
d29bbd8b25
commit
dac2b17dc2
38 changed files with 65313 additions and 247 deletions
|
|
@ -5,6 +5,7 @@ mod ordering;
|
|||
mod paginator;
|
||||
pub mod richtext;
|
||||
|
||||
pub(crate) use convert::FromYtItem;
|
||||
pub use paginator::Paginator;
|
||||
use serde_with::serde_as;
|
||||
|
||||
|
|
@ -1036,4 +1037,33 @@ pub struct MusicSearchResult {
|
|||
/// for the corrected search term and displays it on top of the
|
||||
/// search results page.
|
||||
pub corrected_query: Option<String>,
|
||||
pub order: Vec<MusicEntityType>,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
|
||||
pub enum MusicItem {
|
||||
Track(TrackItem),
|
||||
Album(AlbumItem),
|
||||
Artist(ArtistItem),
|
||||
Playlist(MusicPlaylistItem),
|
||||
}
|
||||
|
||||
#[derive(Debug, Copy, Clone, Serialize, Deserialize, PartialEq, Eq)]
|
||||
pub enum MusicEntityType {
|
||||
Track,
|
||||
Album,
|
||||
Artist,
|
||||
Playlist,
|
||||
}
|
||||
|
||||
/// Filtered YouTube Music search result
|
||||
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
|
||||
pub struct MusicSearchFiltered<T> {
|
||||
pub items: Paginator<T>,
|
||||
/// Corrected search query
|
||||
///
|
||||
/// If the search term containes a typo, YouTube instead searches
|
||||
/// for the corrected search term and displays it on top of the
|
||||
/// search results page.
|
||||
pub corrected_query: Option<String>,
|
||||
}
|
||||
|
|
|
|||
Reference in a new issue