Improvement: Novel Updates: Fixed and Expanded Upon the Existing Filter (#1541)
* novel_updates: fix filter * novel_updates: fix filter * novel_updates: rename filter
This commit is contained in:
@@ -6,7 +6,7 @@ import { Plugin } from '@typings/plugin';
|
|||||||
class NovelUpdates implements Plugin.PluginBase {
|
class NovelUpdates implements Plugin.PluginBase {
|
||||||
id = 'novelupdates';
|
id = 'novelupdates';
|
||||||
name = 'Novel Updates';
|
name = 'Novel Updates';
|
||||||
version = '0.7.14';
|
version = '0.7.15';
|
||||||
icon = 'src/en/novelupdates/icon.png';
|
icon = 'src/en/novelupdates/icon.png';
|
||||||
customCSS = 'src/en/novelupdates/customCSS.css';
|
customCSS = 'src/en/novelupdates/customCSS.css';
|
||||||
site = 'https://www.novelupdates.com/';
|
site = 'https://www.novelupdates.com/';
|
||||||
@@ -43,24 +43,49 @@ class NovelUpdates implements Plugin.PluginBase {
|
|||||||
}: Plugin.PopularNovelsOptions<typeof this.filters>,
|
}: Plugin.PopularNovelsOptions<typeof this.filters>,
|
||||||
): Promise<Plugin.NovelItem[]> {
|
): Promise<Plugin.NovelItem[]> {
|
||||||
let link = `${this.site}`;
|
let link = `${this.site}`;
|
||||||
if (
|
if (showLatestNovels) {
|
||||||
filters?.language.value.length ||
|
link += 'series-finder/?sf=1&sort=sdate&order=desc';
|
||||||
filters?.novelType.value.length ||
|
} else if (
|
||||||
filters?.genres.value.include?.length ||
|
filters?.sort.value === 'popmonth' ||
|
||||||
filters?.genres.value.exclude?.length ||
|
filters?.sort.value === 'popular'
|
||||||
filters?.reading_lists.value.length ||
|
) {
|
||||||
filters?.storyStatus.value !== ''
|
link += 'series-ranking/?rank=' + filters.sort.value;
|
||||||
|
} else if (
|
||||||
|
filters?.sort.value !== 'popmonth' &&
|
||||||
|
filters?.sort.value !== 'popular'
|
||||||
) {
|
) {
|
||||||
link += 'series-finder/?sf=1';
|
link += 'series-finder/?sf=1';
|
||||||
|
|
||||||
if (filters?.language.value.length) {
|
if (
|
||||||
link += '&org=' + filters.language.value.join(',');
|
filters?.genres.value.include?.length ||
|
||||||
|
filters?.genres.value.exclude?.length
|
||||||
|
) {
|
||||||
|
link += '&mgi=' + filters.genre_operator.value;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (filters?.novelType.value.length) {
|
if (filters?.novelType.value.length) {
|
||||||
link += '&nt=' + filters.novelType.value.join(',');
|
link += '&nt=' + filters.novelType.value.join(',');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (filters?.reading_lists.value.length) {
|
||||||
|
link += '&hd=' + filters?.reading_lists.value.join(',');
|
||||||
|
link += '&mRLi=' + filters?.reading_list_operator.value;
|
||||||
|
}
|
||||||
|
|
||||||
|
link += '&sort=' + filters?.sort.value;
|
||||||
|
|
||||||
|
link += '&order=' + filters?.order.value;
|
||||||
|
}
|
||||||
|
if (
|
||||||
|
(!showLatestNovels && filters?.language.value.length) ||
|
||||||
|
filters?.genres.value.include?.length ||
|
||||||
|
filters?.genres.value.exclude?.length ||
|
||||||
|
filters?.storyStatus.value !== ''
|
||||||
|
) {
|
||||||
|
if (filters?.language.value.length) {
|
||||||
|
link += '&org=' + filters.language.value.join(',');
|
||||||
|
}
|
||||||
|
|
||||||
if (filters?.genres.value.include?.length) {
|
if (filters?.genres.value.include?.length) {
|
||||||
link += '&gi=' + filters.genres.value.include.join(',');
|
link += '&gi=' + filters.genres.value.include.join(',');
|
||||||
}
|
}
|
||||||
@@ -69,29 +94,9 @@ class NovelUpdates implements Plugin.PluginBase {
|
|||||||
link += '&ge=' + filters.genres.value.exclude.join(',');
|
link += '&ge=' + filters.genres.value.exclude.join(',');
|
||||||
}
|
}
|
||||||
|
|
||||||
if (
|
|
||||||
filters?.genres.value.include?.length ||
|
|
||||||
filters?.genres.value.exclude?.length
|
|
||||||
) {
|
|
||||||
link += '&mgi=' + filters.genre_operator.value;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (filters?.reading_lists.value.length) {
|
|
||||||
link += '&hd=' + filters?.reading_lists.value.join(',');
|
|
||||||
link += '&mRLi=' + filters?.reading_list_operator.value;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (filters?.storyStatus.value.length) {
|
if (filters?.storyStatus.value.length) {
|
||||||
link += '&ss=' + filters.storyStatus.value;
|
link += '&ss=' + filters.storyStatus.value;
|
||||||
}
|
}
|
||||||
|
|
||||||
link += '&sort=' + filters?.sort.value;
|
|
||||||
|
|
||||||
link += '&order=' + filters?.order.value;
|
|
||||||
} else if (showLatestNovels) {
|
|
||||||
link += 'latest-series/?st=1';
|
|
||||||
} else {
|
|
||||||
link += 'series-ranking/?rank=week';
|
|
||||||
}
|
}
|
||||||
|
|
||||||
link += '&pg=' + page;
|
link += '&pg=' + page;
|
||||||
@@ -1011,8 +1016,10 @@ class NovelUpdates implements Plugin.PluginBase {
|
|||||||
filters = {
|
filters = {
|
||||||
sort: {
|
sort: {
|
||||||
label: 'Sort Results By',
|
label: 'Sort Results By',
|
||||||
value: 'sdate',
|
value: 'popmonth',
|
||||||
options: [
|
options: [
|
||||||
|
{ label: 'Popular (Month)', value: 'popmonth' },
|
||||||
|
{ label: 'Popular (All)', value: 'popular' },
|
||||||
{ label: 'Last Updated', value: 'sdate' },
|
{ label: 'Last Updated', value: 'sdate' },
|
||||||
{ label: 'Rating', value: 'srate' },
|
{ label: 'Rating', value: 'srate' },
|
||||||
{ label: 'Rank', value: 'srank' },
|
{ label: 'Rank', value: 'srank' },
|
||||||
@@ -1025,7 +1032,7 @@ class NovelUpdates implements Plugin.PluginBase {
|
|||||||
type: FilterTypes.Picker,
|
type: FilterTypes.Picker,
|
||||||
},
|
},
|
||||||
order: {
|
order: {
|
||||||
label: 'Order',
|
label: 'Order (Not for Popular)',
|
||||||
value: 'desc',
|
value: 'desc',
|
||||||
options: [
|
options: [
|
||||||
{ label: 'Descending', value: 'desc' },
|
{ label: 'Descending', value: 'desc' },
|
||||||
@@ -1044,34 +1051,8 @@ class NovelUpdates implements Plugin.PluginBase {
|
|||||||
],
|
],
|
||||||
type: FilterTypes.Picker,
|
type: FilterTypes.Picker,
|
||||||
},
|
},
|
||||||
language: {
|
|
||||||
label: 'Language',
|
|
||||||
value: [],
|
|
||||||
options: [
|
|
||||||
{ label: 'Chinese', value: '495' },
|
|
||||||
{ label: 'Filipino', value: '9181' },
|
|
||||||
{ label: 'Indonesian', value: '9179' },
|
|
||||||
{ label: 'Japanese', value: '496' },
|
|
||||||
{ label: 'Khmer', value: '18657' },
|
|
||||||
{ label: 'Korean', value: '497' },
|
|
||||||
{ label: 'Malaysian', value: '9183' },
|
|
||||||
{ label: 'Thai', value: '9954' },
|
|
||||||
{ label: 'Vietnamese', value: '9177' },
|
|
||||||
],
|
|
||||||
type: FilterTypes.CheckboxGroup,
|
|
||||||
},
|
|
||||||
novelType: {
|
|
||||||
label: 'Novel Type',
|
|
||||||
value: [],
|
|
||||||
options: [
|
|
||||||
{ label: 'Light Novel', value: '2443' },
|
|
||||||
{ label: 'Published Novel', value: '26874' },
|
|
||||||
{ label: 'Web Novel', value: '2444' },
|
|
||||||
],
|
|
||||||
type: FilterTypes.CheckboxGroup,
|
|
||||||
},
|
|
||||||
genre_operator: {
|
genre_operator: {
|
||||||
label: 'Genre (And/Or)',
|
label: 'Genre (And/Or) (Not for Popular)',
|
||||||
value: 'and',
|
value: 'and',
|
||||||
options: [
|
options: [
|
||||||
{ label: 'And', value: 'and' },
|
{ label: 'And', value: 'and' },
|
||||||
@@ -1124,8 +1105,34 @@ class NovelUpdates implements Plugin.PluginBase {
|
|||||||
{ label: 'Yuri', value: '922' },
|
{ label: 'Yuri', value: '922' },
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
language: {
|
||||||
|
label: 'Language',
|
||||||
|
value: [],
|
||||||
|
options: [
|
||||||
|
{ label: 'Chinese', value: '495' },
|
||||||
|
{ label: 'Filipino', value: '9181' },
|
||||||
|
{ label: 'Indonesian', value: '9179' },
|
||||||
|
{ label: 'Japanese', value: '496' },
|
||||||
|
{ label: 'Khmer', value: '18657' },
|
||||||
|
{ label: 'Korean', value: '497' },
|
||||||
|
{ label: 'Malaysian', value: '9183' },
|
||||||
|
{ label: 'Thai', value: '9954' },
|
||||||
|
{ label: 'Vietnamese', value: '9177' },
|
||||||
|
],
|
||||||
|
type: FilterTypes.CheckboxGroup,
|
||||||
|
},
|
||||||
|
novelType: {
|
||||||
|
label: 'Novel Type (Not for Popular)',
|
||||||
|
value: [],
|
||||||
|
options: [
|
||||||
|
{ label: 'Light Novel', value: '2443' },
|
||||||
|
{ label: 'Published Novel', value: '26874' },
|
||||||
|
{ label: 'Web Novel', value: '2444' },
|
||||||
|
],
|
||||||
|
type: FilterTypes.CheckboxGroup,
|
||||||
|
},
|
||||||
reading_list_operator: {
|
reading_list_operator: {
|
||||||
label: 'Reading List (Include/Exclude)',
|
label: 'Reading List (Include/Exclude) (Not for Popular)',
|
||||||
value: 'include',
|
value: 'include',
|
||||||
options: [
|
options: [
|
||||||
{ label: 'Include', value: 'include' },
|
{ label: 'Include', value: 'include' },
|
||||||
@@ -1134,7 +1141,7 @@ class NovelUpdates implements Plugin.PluginBase {
|
|||||||
type: FilterTypes.Picker,
|
type: FilterTypes.Picker,
|
||||||
},
|
},
|
||||||
reading_lists: {
|
reading_lists: {
|
||||||
label: 'Reading Lists',
|
label: 'Reading Lists (Not for Popular)',
|
||||||
value: [],
|
value: [],
|
||||||
options: [{ label: 'All Reading Lists', value: '-1' }],
|
options: [{ label: 'All Reading Lists', value: '-1' }],
|
||||||
type: FilterTypes.CheckboxGroup,
|
type: FilterTypes.CheckboxGroup,
|
||||||
|
|||||||
Reference in New Issue
Block a user