fix: add PlaylistHeader renderer

#81
This commit is contained in:
LuanRT
2022-06-24 04:26:39 -03:00
parent 829181ba6f
commit f5c6dbc63e
2 changed files with 35 additions and 1 deletions

View File

@@ -0,0 +1,30 @@
'use strict';
const Text = require('./Text');
const Thumbnail = require('./Thumbnail');
const PlaylistAuthor = require('./PlaylistAuthor');
const Parser = require('..');
class PlaylistHeader {
type = 'PlaylistHeader';
constructor(data) {
this.id = data.playlistId;
this.title = new Text(data.title);
this.stats = data.stats.map((stat) => new Text(stat));
this.brief_stats = data.briefStats.map((stat) => new Text(stat));
this.author = new PlaylistAuthor({ ...data.ownerText, navigationEndpoint: data.ownerEndpoint }, data.ownerBadges, null);
this.description = new Text(data.descriptionText);
this.num_videos = new Text(data.numVideosText);
this.view_count = new Text(data.viewCountText);
this.can_share = data.shareData.canShare;
this.can_delete = data.editableDetails.canDelete;
this.is_editable = data.isEditable;
this.privacy = data.privacy;
this.save_button = Parser.parse(data.saveButton);
this.shuffle_play_button = Parser.parse(data.shufflePlayButton);
this.menu = Parser.parse(data.moreActionsMenu);
}
}
module.exports = PlaylistHeader;

View File

@@ -16,7 +16,11 @@ class Playlist extends Feed {
thumbnails: primary_info.thumbnail_renderer.thumbnail,
total_items: this.#getStat(0, primary_info),
views: this.#getStat(1, primary_info),
last_updated: this.#getStat(2, primary_info)
last_updated: this.#getStat(2, primary_info),
can_share: this.page.header.can_share,
can_delete: this.page.header.can_delete,
is_editable: this.page.header.is_editable,
privacy: this.page.header.privacy
}
}