mirror of
https://github.com/kodjodevf/mangayomi-extensions.git
synced 2026-02-14 10:51:17 +00:00
feat(mmrcms): make baseUrl configurable via source preferences
This commit is contained in:
@@ -21,9 +21,7 @@ class MMRCMS extends MProvider {
|
|||||||
@override
|
@override
|
||||||
Future<MPages> getPopular(int page) async {
|
Future<MPages> getPopular(int page) async {
|
||||||
final res = (await client.get(
|
final res = (await client.get(
|
||||||
Uri.parse(
|
Uri.parse("${getBaseUrl()}/filterList?page=$page&sortBy=views&asc=false"),
|
||||||
"${source.baseUrl}/filterList?page=$page&sortBy=views&asc=false",
|
|
||||||
),
|
|
||||||
)).body;
|
)).body;
|
||||||
final document = parseHtml(res);
|
final document = parseHtml(res);
|
||||||
final mangaList = <MManga>[];
|
final mangaList = <MManga>[];
|
||||||
@@ -40,7 +38,7 @@ class MMRCMS extends MProvider {
|
|||||||
if (page == 1) latestTitles.clear();
|
if (page == 1) latestTitles.clear();
|
||||||
|
|
||||||
final res = (await client.get(
|
final res = (await client.get(
|
||||||
Uri.parse("${source.baseUrl}/latest-release?page=$page"),
|
Uri.parse("${getBaseUrl()}/latest-release?page=$page"),
|
||||||
)).body;
|
)).body;
|
||||||
|
|
||||||
final document = parseHtml(res);
|
final document = parseHtml(res);
|
||||||
@@ -63,7 +61,7 @@ class MMRCMS extends MProvider {
|
|||||||
final filters = filterList.filters;
|
final filters = filterList.filters;
|
||||||
String url = "";
|
String url = "";
|
||||||
if (query.isNotEmpty) {
|
if (query.isNotEmpty) {
|
||||||
url = "${source.baseUrl}/search?query=$query";
|
url = "${getBaseUrl()}/search?query=$query";
|
||||||
}
|
}
|
||||||
|
|
||||||
final res = (await client.get(Uri.parse(url))).body;
|
final res = (await client.get(Uri.parse(url))).body;
|
||||||
@@ -80,13 +78,13 @@ class MMRCMS extends MProvider {
|
|||||||
String value = da["value"];
|
String value = da["value"];
|
||||||
String data = da["data"];
|
String data = da["data"];
|
||||||
if (source.name == 'Scan VF') {
|
if (source.name == 'Scan VF') {
|
||||||
urls.add('${source.baseUrl}/$data');
|
urls.add('${getBaseUrl()}/$data');
|
||||||
} else {
|
} else {
|
||||||
urls.add('${source.baseUrl}/manga/$data');
|
urls.add('${getBaseUrl()}/manga/$data');
|
||||||
}
|
}
|
||||||
names.add(value);
|
names.add(value);
|
||||||
images.add(
|
images.add(
|
||||||
"${source.baseUrl}/uploads/manga/$data/cover/cover_250x350.jpg",
|
"${getBaseUrl()}/uploads/manga/$data/cover/cover_250x350.jpg",
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -195,6 +193,53 @@ class MMRCMS extends MProvider {
|
|||||||
return [];
|
return [];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
List<dynamic> getSourcePreferences() {
|
||||||
|
return [
|
||||||
|
EditTextPreference(
|
||||||
|
key: "domain_url",
|
||||||
|
title: getTitleByLang(source.lang),
|
||||||
|
summary: "",
|
||||||
|
value: source.baseUrl,
|
||||||
|
dialogTitle: "URL",
|
||||||
|
dialogMessage: "",
|
||||||
|
),
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
String getBaseUrl() {
|
||||||
|
final baseUrl = getPreferenceValue(source.id, "domain_url")?.trim();
|
||||||
|
|
||||||
|
if (baseUrl == null || baseUrl.isEmpty) {
|
||||||
|
return source.baseUrl;
|
||||||
|
}
|
||||||
|
|
||||||
|
return baseUrl.endsWith("/")
|
||||||
|
? baseUrl.substring(0, baseUrl.length - 1)
|
||||||
|
: baseUrl;
|
||||||
|
}
|
||||||
|
|
||||||
|
String getTitleByLang(String? lang) {
|
||||||
|
const titles = {
|
||||||
|
'ar': 'تحرير الرابط',
|
||||||
|
'en': 'Edit URL',
|
||||||
|
'fr': 'Modifier l’URL',
|
||||||
|
'es': 'Editar URL',
|
||||||
|
'de': 'URL bearbeiten',
|
||||||
|
'tr': 'URL’yi düzenle',
|
||||||
|
'ru': 'Редактировать URL',
|
||||||
|
'id': 'Edit URL',
|
||||||
|
'pt': 'Editar URL',
|
||||||
|
'it': 'Modifica URL',
|
||||||
|
'ja': 'URLを編集',
|
||||||
|
'zh': '编辑网址',
|
||||||
|
'ko': 'URL 편집',
|
||||||
|
'fa': 'ویرایش نشانی',
|
||||||
|
};
|
||||||
|
|
||||||
|
return titles[lang?.toLowerCase()] ?? titles['en']!;
|
||||||
|
}
|
||||||
|
|
||||||
String ll(String url) {
|
String ll(String url) {
|
||||||
if (url.contains("?")) {
|
if (url.contains("?")) {
|
||||||
return "&";
|
return "&";
|
||||||
@@ -205,11 +250,12 @@ class MMRCMS extends MProvider {
|
|||||||
String guessCover(String mangaUrl, {String? url}) {
|
String guessCover(String mangaUrl, {String? url}) {
|
||||||
if (url == null || url?.endsWith("no-image.png")) {
|
if (url == null || url?.endsWith("no-image.png")) {
|
||||||
String slug = substringAfterLast(mangaUrl, '/');
|
String slug = substringAfterLast(mangaUrl, '/');
|
||||||
return "${source.baseUrl}/uploads/manga/${slug}/cover/cover_250x350.jpg";
|
String baseUrl = getBaseUrl();
|
||||||
} else if (url?.startsWith(source.baseUrl)) {
|
return "${baseUrl}/uploads/manga/${slug}/cover/cover_250x350.jpg";
|
||||||
|
} else if (url?.startsWith(baseUrl)) {
|
||||||
return url;
|
return url;
|
||||||
} else {
|
} else {
|
||||||
return Uri.parse(source.baseUrl).resolve(url).toString();
|
return Uri.parse(baseUrl).resolve(url).toString();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user