mirror of
https://github.com/kodjodevf/mangayomi.git
synced 2026-04-21 03:32:06 +00:00
+
This commit is contained in:
parent
db209fea68
commit
f152339162
3 changed files with 2342 additions and 7 deletions
2286
lib/modules/tracker_library/tracker_library_screen.dart
Normal file
2286
lib/modules/tracker_library/tracker_library_screen.dart
Normal file
File diff suppressed because it is too large
Load diff
|
|
@ -18,6 +18,7 @@ import 'package:mangayomi/modules/more/settings/browse/source_repositories.dart'
|
|||
import 'package:mangayomi/modules/more/settings/reader/providers/reader_state_provider.dart';
|
||||
import 'package:mangayomi/modules/more/statistics/statistics_screen.dart';
|
||||
import 'package:mangayomi/modules/novel/novel_reader_view.dart';
|
||||
import 'package:mangayomi/modules/tracker_library/tracker_library_screen.dart';
|
||||
import 'package:mangayomi/modules/updates/updates_screen.dart';
|
||||
import 'package:mangayomi/modules/more/categories/categories_screen.dart';
|
||||
import 'package:mangayomi/modules/more/settings/downloads/downloads_screen.dart';
|
||||
|
|
@ -124,6 +125,27 @@ class RouterNotifier extends ChangeNotifier {
|
|||
),
|
||||
_genericRoute(name: "history", child: const HistoryScreen()),
|
||||
_genericRoute(name: "updates", child: const UpdatesScreen()),
|
||||
_genericRoute<String?>(
|
||||
name: "trackerLibrary/anilist",
|
||||
builder: (id) => TrackerLibraryScreen(
|
||||
trackerProvider: TrackerProviders.anilist,
|
||||
presetInput: id,
|
||||
),
|
||||
),
|
||||
_genericRoute<String?>(
|
||||
name: "trackerLibrary/kitsu",
|
||||
builder: (id) => TrackerLibraryScreen(
|
||||
trackerProvider: TrackerProviders.kitsu,
|
||||
presetInput: id,
|
||||
),
|
||||
),
|
||||
_genericRoute<String?>(
|
||||
name: "trackerLibrary/mal",
|
||||
builder: (id) => TrackerLibraryScreen(
|
||||
trackerProvider: TrackerProviders.myAnimeList,
|
||||
presetInput: id,
|
||||
),
|
||||
),
|
||||
_genericRoute(name: "browse", child: const BrowseScreen()),
|
||||
_genericRoute(name: "more", child: const MoreScreen()),
|
||||
],
|
||||
|
|
|
|||
|
|
@ -149,19 +149,46 @@ class MyAnimeList extends _$MyAnimeList {
|
|||
);
|
||||
}
|
||||
|
||||
Future<List<TrackSearch>> getGlobalData() async {
|
||||
Future<List<TrackSearch>> getGlobalData(bool isManga) async {
|
||||
final accessToken = await _getAccessToken();
|
||||
final url = Uri.parse(
|
||||
'$baseApiUrl/anime/ranking?ranking_type=airing&limit=15',
|
||||
final item = isManga ? "manga" : "anime";
|
||||
final contentUnit = isManga ? "num_chapters" : "num_episodes";
|
||||
final url = Uri.parse('$baseApiUrl/$item/ranking').replace(
|
||||
queryParameters: {
|
||||
'ranking_type': 'airing',
|
||||
'limit': '15',
|
||||
'fields':
|
||||
'id,title,synopsis,$contentUnit,main_picture,status,media_type,start_date,mean',
|
||||
},
|
||||
);
|
||||
final result = await _makeGetRequest(url, accessToken);
|
||||
final res = jsonDecode(result.body) as Map<String, dynamic>;
|
||||
|
||||
List<int> mangaIds = res['data'] == null
|
||||
return res['data'] == null
|
||||
? []
|
||||
: (res['data'] as List).map((e) => e['node']["id"] as int).toList();
|
||||
|
||||
return [];
|
||||
: (res['data'] as List)
|
||||
.map(
|
||||
(e) => TrackSearch(
|
||||
mediaId: e["node"]["id"],
|
||||
summary: e["node"]["synopsis"] ?? "",
|
||||
totalChapter: e["node"][contentUnit],
|
||||
coverUrl: e["node"]["main_picture"]["large"] ?? "",
|
||||
title: e["node"]["title"],
|
||||
score: e["node"]["mean"],
|
||||
startDate: e["node"]["start_date"] ?? "",
|
||||
publishingType: e["node"]["media_type"].toString().replaceAll(
|
||||
"_",
|
||||
" ",
|
||||
),
|
||||
publishingStatus: e["node"]["status"].toString().replaceAll(
|
||||
"_",
|
||||
" ",
|
||||
),
|
||||
trackingUrl:
|
||||
"https://myanimelist.net/$item/${e["node"]["id"]}",
|
||||
),
|
||||
)
|
||||
.toList();
|
||||
}
|
||||
|
||||
String _convertToIsoDate(int? epochTime) {
|
||||
|
|
|
|||
Loading…
Reference in a new issue