added filters

- fixed torrents not playing
This commit is contained in:
Schnitzel5 2025-08-22 17:13:28 +02:00
parent 03108ae701
commit 7eba7bdcf2
4 changed files with 18 additions and 8 deletions

View file

@ -122,7 +122,7 @@ class MihonExtensionService implements ExtensionService {
"method": "getSearch$name",
"page": max(1, page),
"search": query,
// "filterList": _convertFilters(filters),
"filterList": _convertFilters(filters),
"preferences": getSourcePreferences(),
"data": source.sourceCode,
}),
@ -289,8 +289,7 @@ class MihonExtensionService implements ExtensionService {
@override
FilterList getFilterList() {
// return source.getFilterList() ?? FilterList([]);
return FilterList([]);
return source.getFilterList() ?? FilterList([]);
}
@override

View file

@ -1,3 +1,5 @@
import 'dart:math';
import 'package:isar/isar.dart';
part 'source_preference.g.dart';
@ -139,7 +141,9 @@ class ListPreference {
return ListPreference(
title: json['title'],
summary: json['summary'],
valueIndex: json['valueIndex'],
valueIndex: json['valueIndex'] != null
? max(0, json['valueIndex'])
: null,
entries: json['entries']?.cast<String>(),
entryValues: json['entryValues']?.cast<String>(),
);

View file

@ -45,15 +45,15 @@ class _SourcePreferenceWidgetState extends State<SourcePreferenceWidget> {
showDialog(
context: context,
builder: (context) => EditTextDialogWidget(
text: pref.value!,
text: pref.value ?? "",
onChanged: (value) {
setState(() {
pref.value = value;
});
setPreferenceSetting(preference, widget.source);
},
dialogTitle: pref.dialogTitle!,
dialogMessage: pref.dialogMessage!,
dialogTitle: pref.dialogTitle ?? "",
dialogMessage: pref.dialogMessage ?? "",
),
);
},

View file

@ -11,6 +11,8 @@ import 'package:mangayomi/utils/extensions/string_extensions.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:path/path.dart' as p;
import '../models/source.dart';
part 'get_video_list.g.dart';
@riverpod
@ -61,7 +63,12 @@ Future<(List<Video>, bool, List<String>)> getVideoList(
);
final proxyServer = ref.read(androidProxyServerStateProvider);
if (source?.isTorrent ?? false || episode.manga.value!.source == "torrent") {
final isMihonTorrent =
source?.sourceCodeLanguage == SourceCodeLanguage.mihon &&
source!.name!.contains("(Torrent");
if ((source?.isTorrent ?? false) ||
episode.manga.value!.source == "torrent" ||
isMihonTorrent) {
List<Video> list = [];
List<Video> torrentList = [];