This commit is contained in:
Schnitzel5 2025-03-05 15:51:26 +01:00
parent 7be5075c53
commit 52c5ac5b48
5 changed files with 43 additions and 7 deletions

View file

@ -439,5 +439,8 @@
"manage_manga_repo_url": "Verwalte Repository-Links für Manga",
"manage_anime_repo_url": "Verwalte Repository-Links für Anime",
"manage_novel_repo_url": "Verwalte Repository-Links für Novellen",
"repo_added": "Erweiterungs-Repository hinzugefügt!"
"repo_added": "Erweiterungs-Repository hinzugefügt!",
"genre_search_library": "Genre im Bibliothek suchen",
"genre_search_source": "Genre in der Erweiterung suchen",
"source_not_added": "Die Erweiterung ist nicht installiert!"
}

View file

@ -452,5 +452,8 @@
"clear_all_sources_msg": "This will completely erase all sources of the application. Are you sure you want to continue?",
"sources_cleared": "Sources cleared!!!",
"repo_added": "Source repository added!",
"add_repo": "Add Repository?"
"add_repo": "Add Repository?",
"genre_search_library": "Search genre in library",
"genre_search_source": "Search genre in source",
"source_not_added": "Source is not installed!"
}

View file

@ -215,7 +215,8 @@ class _AnimeStreamPageState extends riv.ConsumerState<AnimeStreamPage>
if (_initSubtitleAndAudio) {
try {
final file = _firstVid.subtitles!.first.file ?? "";
final label = _firstVid.subtitles!.first.label;
final label = _firstVid.subtitles!.first.label; // TODO add setting for default
print("DEBUG $file $label");
_player.setSubtitleTrack(
file.startsWith("http")
? SubtitleTrack.uri(file, title: label, language: label)

View file

@ -1487,22 +1487,49 @@ class _MangaDetailViewState extends ConsumerState<MangaDetailView>
height: 40,
value: 0,
child: Text(
context.l10n.open_in_browser,
context
.l10n
.genre_search_library,
),
),
PopupMenuItem<int>(
height: 40,
value: 1,
child: Text(
context.l10n.settings,
context
.l10n
.genre_search_source,
),
),
];
},
onSelected: (value) async {
final source = getSource(
widget.manga!.lang!,
widget.manga!.source!,
);
if (source == null) {
botToast(l10n.source_not_added);
return;
}
if (value == 0) {
// context.push('/mangaHome', extra: (source, false));
} else {}
switch (widget.manga!.itemType) {
case ItemType.manga:
context.push('/MangaLibrary');
break;
case ItemType.anime:
context.push('/AnimeLibrary');
break;
case ItemType.novel:
context.push('/NovelLibrary');
break;
}
} else {
context.push(
'/mangaHome',
extra: (source, false),
);
}
},
child: ElevatedButton(
style: ElevatedButton.styleFrom(

View file

@ -1,4 +1,5 @@
import 'dart:async';
import 'dart:convert';
import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:go_router/go_router.dart';
@ -124,6 +125,7 @@ class _MangaHomeScreenState extends ConsumerState<MangaHomeScreen> {
Widget build(BuildContext context) {
final supportsLatest = ref.watch(supportsLatestProvider(source: source));
final filterList = getFilterList(source: source);
print(jsonEncode(filterList.where((f) => f.type == "GenreFilter").toList()));
if (_selectedIndex == 2 && (_isSearch && _query.isNotEmpty) ||
_isFiltering) {
_getManga = ref.watch(