import Parser from '..'; import { ObservedArray, YTNode } from '../helpers'; import Text from './misc/Text'; import Thumbnail from './misc/Thumbnail'; import SubscribeButton from './SubscribeButton'; import MetadataBadge from './MetadataBadge'; import Button from './Button'; class InteractiveTabbedHeader extends YTNode { static type = 'InteractiveTabbedHeader'; header_type: string; title: Text; description: Text; metadata: Text; badges: MetadataBadge[]; box_art: Thumbnail[]; banner: Thumbnail[]; buttons: ObservedArray; auto_generated: Text; constructor(data: any) { super(); this.header_type = data.type; this.title = new Text(data.title); this.description = new Text(data.description); this.metadata = new Text(data.metadata); this.badges = Parser.parseArray(data.badges, MetadataBadge); this.box_art = Thumbnail.fromResponse(data.boxArt); this.banner = Thumbnail.fromResponse(data.banner); this.buttons = Parser.parseArray(data.buttons, [ SubscribeButton, Button ]); this.auto_generated = new Text(data.autoGenerated); } } export default InteractiveTabbedHeader;