mirror of
https://github.com/HChaZZY/PiliPlus.git
synced 2025-12-16 07:06:14 +08:00
37 lines
1.2 KiB
Dart
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,
|
|
);
|
|
}
|
|
}
|