Add TioAnime, AnimeFenix and JKAnime + Updates to Mangafire and Aniworld

- New Source: TioAnime source (es)
- New Source: AnimeFenix source (es)
- New Source: JKAnime source (es)
- Aniworld: Async loading for getVideoList and getDetail.
- Aniworld: Changed headers in getVideoList which helps load times.
- Mangafire: changed a query name
- Mangafire: search sometimes failed because filters were empty. I got this on android. And some other user also stated having problems with search.
- Implemented new videoExtractors and helper functions in a "library", used in all three new extensions
This commit is contained in:
RndDev123
2024-11-23 09:39:45 +01:00
parent 66e304c5a6
commit 249395f66e
5 changed files with 3385 additions and 125 deletions

View File

@@ -6,7 +6,7 @@ const mangayomiSources = [{
"iconUrl": "https://mangafire.to/assets/sites/mangafire/favicon.png?v3",
"typeSource": "single",
"isManga": true,
"version": "0.1.1",
"version": "0.1.2",
"dateFormat": "",
"dateFormatLocale": "",
"pkgPath": "manga/src/all/mangafire.js"
@@ -30,16 +30,13 @@ class DefaultExtension extends MProvider {
}
statusFromString(status){
if (status == "Releasing")
return 0;
else if (status == "Completed")
return 1;
else if (status == "On_Hiatus")
return 2;
else if (status == "Discontinued")
return 3;
else
return 5;
return {
"Releasing": 0,
"Completed": 1,
"On_Hiatus": 2,
"Discontinued": 3,
"Unrealeased": 4,
}[status] ?? 5;
}
parseDate(date) {
@@ -73,6 +70,12 @@ class DefaultExtension extends MProvider {
query = query.trim().replaceAll(/\ +/g, "+");
let url = `${this.source.baseUrl}/filter?keyword=${query}`;
// Search sometimes failed because filters were empty. I experienced this mostly on android...
if (!filters || filters.length == 0) {
const res = await new Client().get(`${url}&language=${this.source.lang}&page=${page}`);
return this.mangaListFromPage(res);
}
for (const filter of filters[0].state) {
if (filter.state == true)
url += `&type%5B%5D=${filter.value}`;
@@ -504,8 +507,8 @@ class DefaultExtension extends MProvider {
},
{
type_name: "SelectOption",
name: "Most Relevant",
value: "most_relevant"
name: "Most Relevance",
value: "most_relevance"
},
{
type_name: "SelectOption",