mirror of
https://github.com/HChaZZY/PiliPlus.git
synced 2025-12-06 09:13:48 +08:00
feat: later page: multi select
feat: fav detail page: multi select opt: reply item opt: load more Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
@@ -8,7 +8,6 @@ class MemberDynamicsController extends CommonController {
|
||||
MemberDynamicsController(this.mid);
|
||||
int mid;
|
||||
String offset = '';
|
||||
bool hasMore = true;
|
||||
|
||||
@override
|
||||
void onInit() async {
|
||||
@@ -19,13 +18,12 @@ class MemberDynamicsController extends CommonController {
|
||||
@override
|
||||
Future onRefresh() {
|
||||
offset = '';
|
||||
hasMore = true;
|
||||
return super.onRefresh();
|
||||
}
|
||||
|
||||
@override
|
||||
Future queryData([bool isRefresh = true]) {
|
||||
if (isRefresh.not && (hasMore.not || offset == '-1')) {
|
||||
if (isRefresh.not && (isEnd || offset == '-1')) {
|
||||
return Future.value();
|
||||
}
|
||||
return super.queryData(isRefresh);
|
||||
@@ -35,7 +33,7 @@ class MemberDynamicsController extends CommonController {
|
||||
bool customHandleResponse(Success response) {
|
||||
DynamicsDataModel data = response.response;
|
||||
offset = data.offset?.isNotEmpty == true ? data.offset! : '-1';
|
||||
hasMore = data.hasMore ?? false;
|
||||
isEnd = !(data.hasMore ?? false);
|
||||
if (currentPage != 1 && loadingState.value is Success) {
|
||||
data.items?.insertAll(0, (loadingState.value as Success).response);
|
||||
}
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
import 'package:PiliPalaX/common/widgets/refresh_indicator.dart';
|
||||
import 'package:PiliPalaX/http/loading_state.dart';
|
||||
import 'package:easy_debounce/easy_throttle.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:PiliPalaX/pages/member_dynamics/index.dart';
|
||||
@@ -99,10 +98,7 @@ class _MemberDynamicsPageState extends State<MemberDynamicsPage>
|
||||
// LastChildLayoutType.foot,
|
||||
lastChildLayoutTypeBuilder: (index) {
|
||||
if (index == loadingState.response.length - 1) {
|
||||
EasyThrottle.throttle('member_dynamics',
|
||||
const Duration(milliseconds: 1000), () {
|
||||
_memberDynamicController.onLoadMore();
|
||||
});
|
||||
_memberDynamicController.onLoadMore();
|
||||
}
|
||||
return index == loadingState.response.length
|
||||
? LastChildLayoutType.foot
|
||||
@@ -121,10 +117,7 @@ class _MemberDynamicsPageState extends State<MemberDynamicsPage>
|
||||
delegate: SliverChildBuilderDelegate(
|
||||
(context, index) {
|
||||
if (index == loadingState.response.length - 1) {
|
||||
EasyThrottle.throttle('member_dynamics',
|
||||
const Duration(milliseconds: 1000), () {
|
||||
_memberDynamicController.onLoadMore();
|
||||
});
|
||||
_memberDynamicController.onLoadMore();
|
||||
}
|
||||
return DynamicPanel(
|
||||
item: loadingState.response[index]);
|
||||
|
||||
Reference in New Issue
Block a user