import 'package:PiliPlus/grpc/bilibili/main/community/reply/v1.pb.dart' show MainListReply, ReplyInfo; import 'package:PiliPlus/grpc/reply.dart'; import 'package:PiliPlus/http/loading_state.dart'; import 'package:PiliPlus/models/common/video/video_type.dart'; import 'package:PiliPlus/pages/common/reply_controller.dart'; import 'package:PiliPlus/pages/video/controller.dart'; import 'package:PiliPlus/utils/id_utils.dart'; import 'package:get/get.dart'; class VideoReplyController extends ReplyController { VideoReplyController({ required this.aid, required this.videoType, required this.heroTag, }); int aid; final VideoType videoType; late final isPugv = videoType == VideoType.pugv; final String heroTag; late final videoCtr = Get.find(tag: heroTag); @override dynamic get sourceId => IdUtils.av2bv(aid); @override List? getDataList(MainListReply response) { return response.replies; } @override Future> customGetData() => ReplyGrpc.mainList( oid: isPugv ? videoCtr.epId! : aid, type: videoType.replyType, mode: mode.value, cursorNext: cursorNext, offset: paginationReply?.nextOffset, ); }