import 'package:PiliPlus/grpc/bilibili/main/community/reply/v1.pb.dart' show SearchItemReply, SearchItem, SearchItemType; import 'package:PiliPlus/grpc/reply.dart'; import 'package:PiliPlus/http/loading_state.dart'; import 'package:PiliPlus/models/common/reply/reply_search_type.dart'; import 'package:PiliPlus/pages/common/common_list_controller.dart'; import 'package:PiliPlus/pages/video/reply_search_item/controller.dart'; class ReplySearchChildController extends CommonListController { ReplySearchChildController(this.controller, this.searchType); final ReplySearchController controller; final ReplySearchType searchType; @override List? getDataList(SearchItemReply response) { if (!response.cursor.hasNext) { isEnd = true; } return response.items; } @override Future> customGetData() { return ReplyGrpc.searchItem( page: page, itemType: searchType == ReplySearchType.video ? SearchItemType.VIDEO : SearchItemType.ARTICLE, oid: controller.oid, type: controller.type, keyword: controller.editingController.text, ); } }