mirror of
https://github.com/bggRGjQaUbCoE/PiliPlus.git
synced 2026-05-28 03:58:39 +00:00
refa: coin/like arc
Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
@@ -1,10 +1,11 @@
|
||||
import 'package:PiliPlus/http/loading_state.dart';
|
||||
import 'package:PiliPlus/http/member.dart';
|
||||
import 'package:PiliPlus/models/member/coin.dart';
|
||||
import 'package:PiliPlus/models_new/member/coin_like_arc/data.dart';
|
||||
import 'package:PiliPlus/models_new/member/coin_like_arc/item.dart';
|
||||
import 'package:PiliPlus/pages/common/common_list_controller.dart';
|
||||
|
||||
class MemberLikeController extends CommonListController<
|
||||
List<MemberCoinsDataModel>?, MemberCoinsDataModel> {
|
||||
class MemberLikeController
|
||||
extends CommonListController<CoinLikeArcData, CoinLikeArcItem> {
|
||||
final dynamic mid;
|
||||
MemberLikeController({this.mid});
|
||||
|
||||
@@ -15,6 +16,11 @@ class MemberLikeController extends CommonListController<
|
||||
}
|
||||
|
||||
@override
|
||||
Future<LoadingState<List<MemberCoinsDataModel>?>> customGetData() =>
|
||||
MemberHttp.getRecentLikeVideo(mid: mid);
|
||||
List<CoinLikeArcItem>? getDataList(CoinLikeArcData response) {
|
||||
return response.item;
|
||||
}
|
||||
|
||||
@override
|
||||
Future<LoadingState<CoinLikeArcData>> customGetData() =>
|
||||
MemberHttp.likeArc(mid: mid, page: page);
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@ import 'package:PiliPlus/common/constants.dart';
|
||||
import 'package:PiliPlus/common/skeleton/video_card_v.dart';
|
||||
import 'package:PiliPlus/common/widgets/loading_widget/http_error.dart';
|
||||
import 'package:PiliPlus/http/loading_state.dart';
|
||||
import 'package:PiliPlus/models/member/coin.dart';
|
||||
import 'package:PiliPlus/models_new/member/coin_like_arc/item.dart';
|
||||
import 'package:PiliPlus/pages/member_coin/widgets/item.dart';
|
||||
import 'package:PiliPlus/pages/member_like/controller.dart';
|
||||
import 'package:PiliPlus/utils/grid.dart';
|
||||
@@ -59,7 +59,7 @@ class _MemberLikePageState extends State<MemberLikePage> {
|
||||
);
|
||||
}
|
||||
|
||||
Widget _buildBody(LoadingState<List<MemberCoinsDataModel>?> loadingState) {
|
||||
Widget _buildBody(LoadingState<List<CoinLikeArcItem>?> loadingState) {
|
||||
return switch (loadingState) {
|
||||
Loading() => SliverGrid.builder(
|
||||
gridDelegate: SliverGridDelegateWithExtentAndRatio(
|
||||
@@ -85,7 +85,10 @@ class _MemberLikePageState extends State<MemberLikePage> {
|
||||
),
|
||||
itemCount: response!.length,
|
||||
itemBuilder: (context, index) {
|
||||
return MemberCoinsItem(coinItem: response[index]);
|
||||
if (index == response.length - 1) {
|
||||
_ctr.onLoadMore();
|
||||
}
|
||||
return MemberCoinLikeItem(item: response[index]);
|
||||
},
|
||||
)
|
||||
: HttpError(onReload: _ctr.onReload),
|
||||
|
||||
Reference in New Issue
Block a user