mirror of
https://github.com/bggRGjQaUbCoE/PiliPlus.git
synced 2026-05-21 08:38:37 +00:00
refa: split fav search page
Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
24
lib/pages/follow_search/controller.dart
Normal file
24
lib/pages/follow_search/controller.dart
Normal file
@@ -0,0 +1,24 @@
|
||||
import 'package:PiliPlus/http/loading_state.dart';
|
||||
import 'package:PiliPlus/http/member.dart';
|
||||
import 'package:PiliPlus/models/follow/result.dart';
|
||||
import 'package:PiliPlus/pages/common/common_search_controller.dart';
|
||||
import 'package:get/get.dart';
|
||||
|
||||
class FollowSearchController
|
||||
extends CommonSearchController<FollowDataModel, FollowItemModel> {
|
||||
dynamic mid = Get.arguments['mid'];
|
||||
|
||||
@override
|
||||
Future<LoadingState<FollowDataModel>> customGetData() =>
|
||||
MemberHttp.getfollowSearch(
|
||||
mid: mid,
|
||||
ps: 20,
|
||||
pn: currentPage,
|
||||
name: editController.value.text,
|
||||
);
|
||||
|
||||
@override
|
||||
List<FollowItemModel>? getDataList(FollowDataModel response) {
|
||||
return response.list;
|
||||
}
|
||||
}
|
||||
41
lib/pages/follow_search/view.dart
Normal file
41
lib/pages/follow_search/view.dart
Normal file
@@ -0,0 +1,41 @@
|
||||
import 'package:PiliPlus/models/follow/result.dart';
|
||||
import 'package:PiliPlus/pages/common/common_search_page.dart';
|
||||
import 'package:PiliPlus/pages/follow/widgets/follow_item.dart';
|
||||
import 'package:PiliPlus/utils/utils.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:get/get.dart';
|
||||
|
||||
import 'controller.dart';
|
||||
|
||||
class FollowSearchPage extends CommonSearchPage {
|
||||
const FollowSearchPage({super.key});
|
||||
|
||||
@override
|
||||
State<FollowSearchPage> createState() => _FollowSearchPageState();
|
||||
}
|
||||
|
||||
class _FollowSearchPageState extends CommonSearchPageState<FollowSearchPage,
|
||||
FollowDataModel, FollowItemModel> {
|
||||
@override
|
||||
final FollowSearchController controller = Get.put(
|
||||
FollowSearchController(),
|
||||
tag: Utils.generateRandomString(8),
|
||||
);
|
||||
|
||||
@override
|
||||
Widget buildList(List<FollowItemModel> list) {
|
||||
return ListView.builder(
|
||||
padding: EdgeInsets.only(
|
||||
bottom: MediaQuery.of(context).padding.bottom + 80,
|
||||
),
|
||||
controller: controller.scrollController,
|
||||
itemCount: list.length,
|
||||
itemBuilder: ((context, index) {
|
||||
if (index == list.length - 1) {
|
||||
controller.onLoadMore();
|
||||
}
|
||||
return FollowItem(item: list[index]);
|
||||
}),
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user