mirror of
https://github.com/LuanRT/YouTube.js.git
synced 2026-06-13 09:32:12 +00:00
feat(MusicImmersiveHeader): Parse buttons and menu
This commit is contained in:
@@ -1,25 +1,41 @@
|
||||
import { YTNode } from '../helpers.js';
|
||||
import { Parser, type RawNode } from '../index.js';
|
||||
|
||||
import Button from './Button.js';
|
||||
import MusicThumbnail from './MusicThumbnail.js';
|
||||
import NavigationEndpoint from './NavigationEndpoint.js';
|
||||
import SubscribeButton from './SubscribeButton.js';
|
||||
import ToggleButton from './ToggleButton.js';
|
||||
|
||||
import Menu from './menus/Menu.js';
|
||||
import Text from './misc/Text.js';
|
||||
|
||||
export default class MusicImmersiveHeader extends YTNode {
|
||||
static type = 'MusicImmersiveHeader';
|
||||
|
||||
title: Text;
|
||||
description: Text;
|
||||
thumbnail: MusicThumbnail | null;
|
||||
public title: Text;
|
||||
public menu: Menu | null;
|
||||
public more_button: ToggleButton | null;
|
||||
public play_button: Button | null;
|
||||
public share_endpoint?: NavigationEndpoint;
|
||||
public start_radio_button: Button | null;
|
||||
public subscription_button: SubscribeButton | null;
|
||||
public description: Text;
|
||||
public thumbnail: MusicThumbnail | null;
|
||||
|
||||
constructor(data: RawNode) {
|
||||
super();
|
||||
this.title = new Text(data.title);
|
||||
this.menu = Parser.parseItem(data.menu, Menu);
|
||||
this.more_button = Parser.parseItem(data.moreButton, ToggleButton);
|
||||
this.play_button = Parser.parseItem(data.playButton, Button);
|
||||
|
||||
if ('shareEndpoint' in data)
|
||||
this.share_endpoint = new NavigationEndpoint(data.shareEndpoint);
|
||||
|
||||
this.start_radio_button = Parser.parseItem(data.startRadioButton, Button);
|
||||
this.subscription_button = Parser.parseItem(data.subscriptionButton, SubscribeButton);
|
||||
this.description = new Text(data.description);
|
||||
this.thumbnail = Parser.parseItem(data.thumbnail, MusicThumbnail);
|
||||
/**
|
||||
Not useful for now.
|
||||
this.menu = Parser.parse(data.menu);
|
||||
this.play_button = Parser.parse(data.playButton);
|
||||
this.start_radio_button = Parser.parse(data.startRadioButton);
|
||||
*/
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user