diff --git a/lib/network/network.dart b/lib/network/network.dart index 8890364..a12596d 100644 --- a/lib/network/network.dart +++ b/lib/network/network.dart @@ -400,4 +400,15 @@ class Network { return Res.error(res.errorMessage); } } + + Future>> getRecommendedMangas() async { + var res = await apiGet("/v1/manga/recommended?filter=for_android&include_ranking_illusts=true&include_privacy_policy=true"); + if (res.success) { + return Res( + (res.data["illusts"] as List).map((e) => Illust.fromJson(e)).toList(), + subData: res.data["next_url"]); + } else { + return Res.error(res.errorMessage); + } + } } diff --git a/lib/pages/recommendation_page.dart b/lib/pages/recommendation_page.dart index 6ed1030..a36db61 100644 --- a/lib/pages/recommendation_page.dart +++ b/lib/pages/recommendation_page.dart @@ -27,8 +27,8 @@ class _RecommendationPageState extends State { children: [ buildTab(), Expanded( - child: type == 0 - ? const _RecommendationArtworksPage() + child: type != 2 + ? _RecommendationArtworksPage(type, key: Key(type.toString()),) : const _RecommendationUsersPage(), ) ], @@ -41,7 +41,8 @@ class _RecommendationPageState extends State { action: SegmentedButton( options: [ SegmentedButtonOption(0, "Artworks".tl), - SegmentedButtonOption(1, "Users".tl), + SegmentedButtonOption(1, "Mangas".tl), + SegmentedButtonOption(2, "Users".tl), ], onPressed: (key) { if(key != type) { @@ -58,7 +59,9 @@ class _RecommendationPageState extends State { class _RecommendationArtworksPage extends StatefulWidget { - const _RecommendationArtworksPage(); + const _RecommendationArtworksPage(this.type, {super.key}); + + final int type; @override State<_RecommendationArtworksPage> createState() => _RecommendationArtworksPageState(); @@ -87,7 +90,9 @@ class _RecommendationArtworksPageState extends MultiPageLoadingState<_Recommenda @override Future>> loadData(page) { - return Network().getRecommendedIllusts(); + return widget.type == 0 + ? Network().getRecommendedIllusts() + : Network().getRecommendedMangas(); } }