opt: common ctr

opt: state

Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
bggRGjQaUbCoE
2025-05-11 12:21:42 +08:00
parent 5bff1747e6
commit 574bf861f0
129 changed files with 1065 additions and 1058 deletions

View File

@@ -25,9 +25,9 @@ class MemberBangumiCtr
super.onInit();
dynamic response = (_ctr.loadingState.value as Success).response;
if (response is SpaceData) {
currentPage = 2;
page = 2;
dynamic res = response.season;
loadingState.value = LoadingState.success(res.item);
loadingState.value = Success(res.item);
count = res.count;
isEnd = res.item!.length >= count;
} else {
@@ -52,6 +52,6 @@ class MemberBangumiCtr
MemberHttp.spaceArchive(
type: ContributeType.bangumi,
mid: mid,
pn: currentPage,
pn: page,
);
}

View File

@@ -64,7 +64,7 @@ class _MemberBangumiState extends State<MemberBangumi>
Widget _buildBody(LoadingState<List<SpaceArchiveItem>?> loadingState) {
return switch (loadingState) {
Loading() => const SliverToBoxAdapter(),
Success() => loadingState.response?.isNotEmpty == true
Success(:var response) => response?.isNotEmpty == true
? SliverGrid(
gridDelegate: SliverGridDelegateWithExtentAndRatio(
mainAxisSpacing: StyleString.cardSpace,
@@ -75,19 +75,19 @@ class _MemberBangumiState extends State<MemberBangumi>
),
delegate: SliverChildBuilderDelegate(
(context, index) {
if (index == loadingState.response!.length - 1) {
if (index == response.length - 1) {
_controller.onLoadMore();
}
return BangumiCardVMemberHome(
bangumiItem: loadingState.response![index],
bangumiItem: response[index],
);
},
childCount: loadingState.response!.length,
childCount: response!.length,
),
)
: HttpError(onReload: _controller.onReload),
Error() => HttpError(
errMsg: loadingState.errMsg,
Error(:var errMsg) => HttpError(
errMsg: errMsg,
onReload: _controller.onReload,
),
};