opt: load more replies

Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
bggRGjQaUbCoE
2024-11-27 12:33:31 +08:00
parent 0c18077cc4
commit 05f9384c72
8 changed files with 107 additions and 84 deletions

View File

@@ -6,6 +6,7 @@ import 'package:PiliPalaX/http/loading_state.dart';
import 'package:PiliPalaX/models/space_article/item.dart';
import 'package:PiliPalaX/pages/member/new/content/member_contribute/content/article/member_article_ctr.dart';
import 'package:PiliPalaX/utils/app_scheme.dart';
import 'package:easy_debounce/easy_throttle.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
@@ -54,7 +55,11 @@ class _MemberArticleState extends State<MemberArticle>
itemCount: loadingState.response.length,
itemBuilder: (_, index) {
if (index == loadingState.response.length - 1) {
_controller.onLoadMore();
EasyThrottle.throttle(
'memberArticle', const Duration(milliseconds: 500),
() {
_controller.onLoadMore();
});
}
Item item = loadingState.response[index];
return ListTile(

View File

@@ -5,6 +5,7 @@ import 'package:PiliPalaX/http/loading_state.dart';
import 'package:PiliPalaX/pages/bangumi/widgets/bangumi_card_v_member_home.dart';
import 'package:PiliPalaX/pages/member/new/content/member_contribute/content/bangumi/member_bangumi_ctr.dart';
import 'package:PiliPalaX/utils/grid.dart';
import 'package:easy_debounce/easy_throttle.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
@@ -71,7 +72,10 @@ class _MemberBangumiState extends State<MemberBangumi>
delegate: SliverChildBuilderDelegate(
(context, index) {
if (index == loadingState.response.length - 1) {
_controller.onLoadMore();
EasyThrottle.throttle('memberBangumi',
const Duration(milliseconds: 500), () {
_controller.onLoadMore();
});
}
return BangumiCardVMemberHome(
bangumiItem: loadingState.response[index],

View File

@@ -3,6 +3,7 @@ import 'package:PiliPalaX/common/widgets/refresh_indicator.dart';
import 'package:PiliPalaX/http/loading_state.dart';
import 'package:PiliPalaX/pages/dynamics/widgets/dynamic_panel_grpc.dart';
import 'package:PiliPalaX/pages/member/new/content/member_dynamic/member_dynamic_ctr.dart';
import 'package:easy_debounce/easy_throttle.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
@@ -43,7 +44,10 @@ class _MemberDynamicState extends State<MemberDynamic>
itemCount: loadingState.response.length,
itemBuilder: (_, index) {
if (index == loadingState.response.length - 1) {
_controller.onLoadMore();
EasyThrottle.throttle(
'memberDynamic', const Duration(milliseconds: 500), () {
_controller.onLoadMore();
});
}
return DynamicPanelGrpc(
item: loadingState.response[index],