This commit is contained in:
2025-01-25 16:26:24 +08:00
parent 812b36d1e9
commit 24b9bcd86e

View File

@@ -19,8 +19,7 @@ class ComicSourcePage extends StatefulWidget {
return 0; return 0;
} }
var dio = AppDio(); var dio = AppDio();
var res = await dio.get<String>( var res = await dio.get<String>(appdata.settings['comicSourceListUrl']);
"https://raw.githubusercontent.com/venera-app/venera-configs/master/index.json");
if (res.statusCode != 200) { if (res.statusCode != 200) {
return -1; return -1;
} }
@@ -419,7 +418,8 @@ class _BodyState extends State<_Body> {
} }
void help() { void help() {
launchUrlString("https://github.com/venera-app/venera/blob/master/doc/comic_source.md"); launchUrlString(
"https://github.com/venera-app/venera/blob/master/doc/comic_source.md");
} }
Future<void> handleAddSource(String url) async { Future<void> handleAddSource(String url) async {
@@ -521,18 +521,29 @@ class _ComicSourceListState extends State<_ComicSourceList> {
var key = json![index]["key"]; var key = json![index]["key"];
var action = currentKey.contains(key) var action = currentKey.contains(key)
? const Icon(Icons.check, size: 20).paddingRight(8) ? const Icon(Icons.check, size: 20).paddingRight(8)
: Tooltip( : Button.filled(
message: "Add", child: Text("Add".tl),
child: Button.icon(
color: context.colorScheme.primary,
icon: const Icon(Icons.add),
onPressed: () async { onPressed: () async {
await widget.onAdd( var fileName = json![index]["fileName"];
"https://raw.githubusercontent.com/venera-app/venera-configs/master/${json![index]["fileName"]}"); var url = json![index]["url"];
if (url == null || !(url.toString()).isURL) {
var listUrl =
appdata.settings['comicSourceListUrl'] as String;
if (listUrl
.replaceFirst("https://", "")
.replaceFirst("http://", "")
.contains("/")) {
url =
listUrl.substring(0, listUrl.lastIndexOf("/") + 1) +
fileName;
} else {
url = '$listUrl/$fileName';
}
}
await widget.onAdd(url);
setState(() {}); setState(() {});
}, },
), ).fixHeight(32);
);
return ListTile( return ListTile(
title: Text(json![index]["name"]), title: Text(json![index]["name"]),