feat(Channel): add support for sorting the playlist tab (#295)

This commit is contained in:
LuanRT
2023-01-27 06:37:35 -03:00
committed by GitHub
parent d6c5a9b971
commit 50ef71284d
6 changed files with 103 additions and 3 deletions

View File

@@ -0,0 +1,27 @@
import Parser from '..';
import NavigationEndpoint from './NavigationEndpoint';
import { YTNode } from '../helpers';
class ChannelSubMenu extends YTNode {
static type = 'ChannelSubMenu';
content_type_sub_menu_items: {
endpoint: NavigationEndpoint;
selected: boolean;
title: string;
}[];
sort_setting;
constructor(data: any) {
super();
this.content_type_sub_menu_items = data.contentTypeSubMenuItems.map((item: any) => ({
endpoint: new NavigationEndpoint(item.navigationEndpoint || item.endpoint),
selected: item.selected,
title: item.title
}));
this.sort_setting = Parser.parseItem(data.sortSetting);
}
}
export default ChannelSubMenu;

View File

@@ -8,6 +8,7 @@ class SectionList extends YTNode {
contents;
continuation?: string;
header;
sub_menu;
constructor(data: any) {
super();
@@ -29,6 +30,10 @@ class SectionList extends YTNode {
if (data.header) {
this.header = Parser.parse(data.header);
}
if (data.subMenu) {
this.sub_menu = Parser.parseItem(data.subMenu);
}
}
}

View File

@@ -41,7 +41,7 @@ class SortFilterSubMenu extends YTNode {
title: item.title,
selected: item.selected,
continuation: item.continuation?.reloadContinuationData?.continuation,
endpoint: new NavigationEndpoint(item.serviceEndpoint),
endpoint: new NavigationEndpoint(item.serviceEndpoint || item.navigationEndpoint),
subtitle: item.subtitle || null
}));
}