diff --git a/src/parser/classes/HeroPlaylistThumbnail.ts b/src/parser/classes/HeroPlaylistThumbnail.ts new file mode 100644 index 00000000..1d83b2af --- /dev/null +++ b/src/parser/classes/HeroPlaylistThumbnail.ts @@ -0,0 +1,19 @@ +import { YTNode } from '../helpers.js'; +import NavigationEndpoint from './NavigationEndpoint.js'; +import Thumbnail from './misc/Thumbnail.js'; + +class HeroPlaylistThumbnail extends YTNode { + static type = 'HeroPlaylistThumbnail'; + + thumbnails: Thumbnail[]; + on_tap_endpoint: NavigationEndpoint; + + constructor(data: any) { + super(); + + this.thumbnails = Thumbnail.fromResponse(data.thumbnail); + this.on_tap_endpoint = new NavigationEndpoint(data.onTap); + } +} + +export default HeroPlaylistThumbnail; \ No newline at end of file diff --git a/src/parser/classes/PlaylistHeader.ts b/src/parser/classes/PlaylistHeader.ts index a670538d..18c5a4c2 100644 --- a/src/parser/classes/PlaylistHeader.ts +++ b/src/parser/classes/PlaylistHeader.ts @@ -21,6 +21,7 @@ class PlaylistHeader extends YTNode { save_button; shuffle_play_button; menu; + banner; constructor(data: any) { super(); @@ -39,6 +40,7 @@ class PlaylistHeader extends YTNode { this.save_button = Parser.parse(data.saveButton); this.shuffle_play_button = Parser.parse(data.shufflePlayButton); this.menu = Parser.parse(data.moreActionsMenu); + this.banner = Parser.parseItem(data.playlistHeaderBanner); } } diff --git a/src/parser/map.ts b/src/parser/map.ts index a9fc75d0..d20ab735 100644 --- a/src/parser/map.ts +++ b/src/parser/map.ts @@ -214,6 +214,8 @@ import { default as Heatmap } from './classes/Heatmap.js'; export { Heatmap }; import { default as HeatMarker } from './classes/HeatMarker.js'; export { HeatMarker }; +import { default as HeroPlaylistThumbnail } from './classes/HeroPlaylistThumbnail.js'; +export { HeroPlaylistThumbnail }; import { default as HighlightsCarousel } from './classes/HighlightsCarousel.js'; export { HighlightsCarousel }; import { default as HistorySuggestion } from './classes/HistorySuggestion.js'; @@ -778,6 +780,7 @@ const map: Record = { HashtagHeader, Heatmap, HeatMarker, + HeroPlaylistThumbnail, HighlightsCarousel, HistorySuggestion, HorizontalCardList,