Files
PiliPlus/lib/pages/video/reply_search_item/child/controller.dart
bggRGjQaUbCoE 05153fda72 opt pub page
Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
2025-07-09 12:02:28 +08:00

37 lines
1.2 KiB
Dart

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<SearchItemReply, SearchItem> {
ReplySearchChildController(this.controller, this.searchType);
final ReplySearchController controller;
final ReplySearchType searchType;
@override
List<SearchItem>? getDataList(SearchItemReply response) {
if (response.cursor.hasNext == false) {
isEnd = true;
}
return response.items;
}
@override
Future<LoadingState<SearchItemReply>> customGetData() {
return ReplyGrpc.searchItem(
page: page,
itemType: searchType == ReplySearchType.video
? SearchItemType.VIDEO
: SearchItemType.ARTICLE,
oid: controller.oid,
type: controller.type,
keyword: controller.editingController.text,
);
}
}