feat: add music_new_albums/videos
This commit is contained in:
parent
bd936a8c42
commit
8f82694eaf
15 changed files with 103714 additions and 19 deletions
|
|
@ -2,6 +2,7 @@ pub(crate) mod channel;
|
|||
pub(crate) mod music_artist;
|
||||
pub(crate) mod music_details;
|
||||
pub(crate) mod music_item;
|
||||
pub(crate) mod music_new;
|
||||
pub(crate) mod music_playlist;
|
||||
pub(crate) mod music_search;
|
||||
pub(crate) mod player;
|
||||
|
|
@ -19,6 +20,7 @@ pub(crate) use music_details::MusicDetails;
|
|||
pub(crate) use music_details::MusicLyrics;
|
||||
pub(crate) use music_details::MusicRelated;
|
||||
pub(crate) use music_item::MusicContinuation;
|
||||
pub(crate) use music_new::MusicNew;
|
||||
pub(crate) use music_playlist::MusicPlaylist;
|
||||
pub(crate) use music_search::MusicSearch;
|
||||
pub(crate) use music_search::MusicSearchSuggestion;
|
||||
|
|
|
|||
|
|
@ -1,10 +1,10 @@
|
|||
use serde::Deserialize;
|
||||
use serde_with::{serde_as, DefaultOnError};
|
||||
|
||||
use crate::serializer::{text::Text, MapResult, VecLogError};
|
||||
use crate::serializer::text::Text;
|
||||
|
||||
use super::{
|
||||
music_item::{ItemSection, MusicResponseItem, MusicThumbnailRenderer},
|
||||
music_item::{Grid, ItemSection, MusicThumbnailRenderer},
|
||||
ContentsRenderer, SectionList, Tab,
|
||||
};
|
||||
|
||||
|
|
@ -67,20 +67,6 @@ pub(crate) struct MusicArtistAlbums {
|
|||
pub contents: Contents<Grid>,
|
||||
}
|
||||
|
||||
#[derive(Debug, Deserialize)]
|
||||
#[serde(rename_all = "camelCase")]
|
||||
pub(crate) struct Grid {
|
||||
pub grid_renderer: GridRenderer,
|
||||
}
|
||||
|
||||
#[serde_as]
|
||||
#[derive(Debug, Deserialize)]
|
||||
#[serde(rename_all = "camelCase")]
|
||||
pub(crate) struct GridRenderer {
|
||||
#[serde_as(as = "VecLogError<_>")]
|
||||
pub items: MapResult<Vec<MusicResponseItem>>,
|
||||
}
|
||||
|
||||
#[derive(Debug, Deserialize)]
|
||||
#[serde(rename_all = "camelCase")]
|
||||
pub(crate) struct SimpleHeader {
|
||||
|
|
|
|||
|
|
@ -340,6 +340,20 @@ pub(crate) struct MusicItemMenuEntry {
|
|||
pub menu_navigation_item_renderer: ButtonRenderer,
|
||||
}
|
||||
|
||||
#[derive(Debug, Deserialize)]
|
||||
#[serde(rename_all = "camelCase")]
|
||||
pub(crate) struct Grid {
|
||||
pub grid_renderer: GridRenderer,
|
||||
}
|
||||
|
||||
#[serde_as]
|
||||
#[derive(Debug, Deserialize)]
|
||||
#[serde(rename_all = "camelCase")]
|
||||
pub(crate) struct GridRenderer {
|
||||
#[serde_as(as = "VecLogError<_>")]
|
||||
pub items: MapResult<Vec<MusicResponseItem>>,
|
||||
}
|
||||
|
||||
/*
|
||||
#MAPPER
|
||||
*/
|
||||
|
|
|
|||
15
src/client/response/music_new.rs
Normal file
15
src/client/response/music_new.rs
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
use serde::Deserialize;
|
||||
|
||||
use super::{music_item::Grid, ContentsRenderer, SectionList, Tab};
|
||||
|
||||
#[derive(Debug, Deserialize)]
|
||||
#[serde(rename_all = "camelCase")]
|
||||
pub(crate) struct MusicNew {
|
||||
pub contents: Contents,
|
||||
}
|
||||
|
||||
#[derive(Debug, Deserialize)]
|
||||
#[serde(rename_all = "camelCase")]
|
||||
pub(crate) struct Contents {
|
||||
pub single_column_browse_results_renderer: ContentsRenderer<Tab<SectionList<Grid>>>,
|
||||
}
|
||||
Reference in a new issue