diff --git a/dart/manga/multisrc/madara/madara.dart b/dart/manga/multisrc/madara/madara.dart index 166e15a9..2f10a0e2 100644 --- a/dart/manga/multisrc/madara/madara.dart +++ b/dart/manga/multisrc/madara/madara.dart @@ -10,20 +10,22 @@ class Madara extends MProvider { @override Future getPopular(int page) async { - final res = - (await client.get( - Uri.parse("${source.baseUrl}/manga/page/$page/?m_orderby=views"), - )).body; + final res = (await client.get( + Uri.parse( + "${source.baseUrl}/${getMangaSubString()}/page/$page/?m_orderby=views", + ), + )).body; final document = parseHtml(res); return mangaFromElements(document.select("div.page-item-detail")); } @override Future getLatestUpdates(int page) async { - final res = - (await client.get( - Uri.parse("${source.baseUrl}/manga/page/$page/?m_orderby=latest"), - )).body; + final res = (await client.get( + Uri.parse( + "${source.baseUrl}/${getMangaSubString()}/page/$page/?m_orderby=latest", + ), + )).body; final document = parseHtml(res); return mangaFromElements(document.select("div.page-item-detail")); } @@ -48,9 +50,12 @@ class Madara extends MProvider { url += "${ll(url)}release=${Uri.encodeComponent(filter.state)}"; } } else if (filter.type == "StatusFilter") { - List status = filter.state.where((item) => item.state).map((item) => item.value.toString()).toList(); + List status = filter.state + .where((item) => item.state) + .map((item) => item.value.toString()) + .toList(); if (status.isNotEmpty) { - url += "${ll(url)}status[]=${status.join('&status[]=')}"; + url += "${ll(url)}status[]=${status.join('&status[]=')}"; } } else if (filter.type == "OrderByFilter") { if (filter.state != 0) { @@ -101,8 +106,8 @@ class Madara extends MProvider { ); chapter.dateUpload = dates[0]; } else { - chapter.dateUpload = - DateTime.now().millisecondsSinceEpoch.toString(); + chapter.dateUpload = DateTime.now().millisecondsSinceEpoch + .toString(); } } chapters.add(chapter); @@ -203,11 +208,10 @@ class Madara extends MProvider { body: {"action": "manga_get_chapters", "manga": mangaId}, ); if (oldXhrChaptersRequest.statusCode == 400) { - res = - (await client.post( - Uri.parse("${url}ajax/chapters"), - headers: headers, - )).body; + res = (await client.post( + Uri.parse("${url}ajax/chapters"), + headers: headers, + )).body; } else { res = oldXhrChaptersRequest.body; } @@ -215,11 +219,10 @@ class Madara extends MProvider { MDocument chapDoc = parseHtml(res); manga.chapters = getChapters(chapDoc); if (manga.chapters.isEmpty) { - res = - (await client.post( - Uri.parse("${url}ajax/chapters"), - headers: headers, - )).body; + res = (await client.post( + Uri.parse("${url}ajax/chapters"), + headers: headers, + )).body; chapDoc = parseHtml(res); manga.chapters = getChapters(chapDoc); } @@ -252,8 +255,10 @@ class Madara extends MProvider { List pageUrls = []; if (imgs.length == 1) { - final pagesNumber = - document.selectFirst("#single-pager").select("option").length; + final pagesNumber = document + .selectFirst("#single-pager") + .select("option") + .length; final imgUrl = imgs.first; for (var i = 0; i < pagesNumber; i++) { final val = i + 1; @@ -326,6 +331,11 @@ class Madara extends MProvider { } return "?"; } + + String getMangaSubString() { + const worksSources = {"Olaoe", "Mangax Core"}; + return worksSources.contains(source.name) ? "works" : "manga"; + } } Madara main(MSource source) { diff --git a/dart/manga/multisrc/madara/sources.dart b/dart/manga/multisrc/madara/sources.dart index c20e9636..8e7d07d7 100644 --- a/dart/manga/multisrc/madara/sources.dart +++ b/dart/manga/multisrc/madara/sources.dart @@ -94,6 +94,8 @@ import 'src/winterscan/winterscan.dart'; import 'src/wonderlandscan/wonderlandscan.dart'; import 'src/yuriverso/yuriverso.dart'; import 'src/manga3asq/manga3asq.dart'; +import 'src/detectiveconanar/detectiveconanar.dart'; +import 'src/mangaxcore/mangaxcore.dart'; import 'src/grabberzone/grabberzone.dart'; import 'src/mangalink/mangalink.dart'; import 'src/mangalek/mangalek.dart'; @@ -379,6 +381,8 @@ List _madaraSourcesList = yuriversoSource, //مانجا العاشق (AR) manga3asqSource, + //Mangax Core (AR) + mangaxcoreSource, //Grabber Zone (ALL) grabberzoneSource, //مانجا لينك (AR) @@ -397,6 +401,8 @@ List _madaraSourcesList = olaoeSource, //Rocks Manga (AR) rocksmangaSource, + //شبكة كونان العربية (AR) + detectiveconanarSource, //DragonTea (EN) dragonteaSource, //Global Bloging (EN) @@ -563,10 +569,9 @@ List _madaraSourcesList = webtoonhattiSource, ] .map( - (e) => - e - ..itemType = ItemType.manga - ..sourceCodeUrl = madaraSourceCodeUrl - ..version = madaraVersion, + (e) => e + ..itemType = ItemType.manga + ..sourceCodeUrl = madaraSourceCodeUrl + ..version = madaraVersion, ) .toList(); diff --git a/dart/manga/multisrc/madara/src/detectiveconanar/detectiveconanar.dart b/dart/manga/multisrc/madara/src/detectiveconanar/detectiveconanar.dart new file mode 100644 index 00000000..80be9540 --- /dev/null +++ b/dart/manga/multisrc/madara/src/detectiveconanar/detectiveconanar.dart @@ -0,0 +1,12 @@ +import '../../../../../../model/source.dart'; + +Source get detectiveconanarSource => _detectiveconanarSource; + +Source _detectiveconanarSource = Source( + name: "شبكة كونان العربية", + baseUrl: "https://manga.detectiveconanar.com", + lang: "ar", + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/detectiveconanar/icon.png", +); diff --git a/dart/manga/multisrc/madara/src/detectiveconanar/icon.png b/dart/manga/multisrc/madara/src/detectiveconanar/icon.png new file mode 100644 index 00000000..7924b65f Binary files /dev/null and b/dart/manga/multisrc/madara/src/detectiveconanar/icon.png differ diff --git a/dart/manga/multisrc/madara/src/mangaxcore/icon.png b/dart/manga/multisrc/madara/src/mangaxcore/icon.png new file mode 100644 index 00000000..5260c65f Binary files /dev/null and b/dart/manga/multisrc/madara/src/mangaxcore/icon.png differ diff --git a/dart/manga/multisrc/madara/src/mangaxcore/mangaxcore.dart b/dart/manga/multisrc/madara/src/mangaxcore/mangaxcore.dart new file mode 100644 index 00000000..132f34d5 --- /dev/null +++ b/dart/manga/multisrc/madara/src/mangaxcore/mangaxcore.dart @@ -0,0 +1,12 @@ +import '../../../../../../model/source.dart'; + +Source get mangaxcoreSource => _mangaxcoreSource; + +Source _mangaxcoreSource = Source( + name: "Mangax Core", + baseUrl: "https://mangaxcore.xyz", + lang: "ar", + typeSource: "madara", + iconUrl: + "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/mangaxcore/icon.png", +);