mirror of
https://github.com/bggRGjQaUbCoE/PiliPlus.git
synced 2026-08-06 02:30:12 +08:00
opt: common ctr
opt: state Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
@@ -12,6 +12,8 @@ class HorizontalMemberPageController extends CommonDataController {
|
||||
|
||||
dynamic mid;
|
||||
|
||||
int currentPage = 0;
|
||||
|
||||
Rx<LoadingState<MemberInfoModel>> userState =
|
||||
LoadingState<MemberInfoModel>.loading().obs;
|
||||
RxMap userStat = {}.obs;
|
||||
@@ -19,7 +21,6 @@ class HorizontalMemberPageController extends CommonDataController {
|
||||
@override
|
||||
void onInit() {
|
||||
super.onInit();
|
||||
currentPage = 0;
|
||||
getUserInfo();
|
||||
queryData();
|
||||
}
|
||||
@@ -27,10 +28,10 @@ class HorizontalMemberPageController extends CommonDataController {
|
||||
Future<void> getUserInfo() async {
|
||||
dynamic res = await MemberHttp.memberInfo(mid: mid);
|
||||
if (res['status']) {
|
||||
userState.value = LoadingState.success(res['data']);
|
||||
userState.value = Success(res['data']);
|
||||
getMemberStat();
|
||||
} else {
|
||||
userState.value = LoadingState.error(res['msg']);
|
||||
userState.value = Error(res['msg']);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -69,7 +70,7 @@ class HorizontalMemberPageController extends CommonDataController {
|
||||
}
|
||||
firstAid = data.item?.firstOrNull?.param;
|
||||
lastAid = data.item?.lastOrNull?.param;
|
||||
loadingState.value = LoadingState.success(data.item);
|
||||
loadingState.value = Success(data.item);
|
||||
isLoadPrevious = false;
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -87,7 +87,7 @@ class _HorizontalMemberPageState extends State<HorizontalMemberPage> {
|
||||
Widget _buildUserPage(ThemeData theme, LoadingState userState) {
|
||||
return switch (userState) {
|
||||
Loading() => loadingWidget,
|
||||
Success() => Column(
|
||||
Success(:var response) => Column(
|
||||
children: [
|
||||
const SizedBox(height: 4),
|
||||
Row(
|
||||
@@ -103,7 +103,7 @@ class _HorizontalMemberPageState extends State<HorizontalMemberPage> {
|
||||
const SizedBox(width: 16),
|
||||
],
|
||||
),
|
||||
_buildUserInfo(theme, userState.response),
|
||||
_buildUserInfo(theme, response),
|
||||
const SizedBox(height: 5),
|
||||
Expanded(
|
||||
child: Obx(
|
||||
@@ -111,11 +111,12 @@ class _HorizontalMemberPageState extends State<HorizontalMemberPage> {
|
||||
),
|
||||
],
|
||||
),
|
||||
Error() => scrollErrorWidget(
|
||||
Error(:var errMsg) => scrollErrorWidget(
|
||||
controller: _controller.scrollController,
|
||||
errMsg: userState.errMsg,
|
||||
errMsg: errMsg,
|
||||
onReload: () {
|
||||
_controller.userState.value = LoadingState.loading();
|
||||
_controller.userState.value =
|
||||
LoadingState<MemberInfoModel>.loading();
|
||||
_controller.getUserInfo();
|
||||
},
|
||||
),
|
||||
@@ -178,7 +179,7 @@ class _HorizontalMemberPageState extends State<HorizontalMemberPage> {
|
||||
Widget _buildVideoList(ThemeData theme, LoadingState loadingState) {
|
||||
return switch (loadingState) {
|
||||
Loading() => loadingWidget,
|
||||
Success() => Material(
|
||||
Success(:var response) => Material(
|
||||
color: Colors.transparent,
|
||||
child: CustomScrollView(
|
||||
controller: _controller.scrollController,
|
||||
@@ -196,12 +197,10 @@ class _HorizontalMemberPageState extends State<HorizontalMemberPage> {
|
||||
gridDelegate: Grid.videoCardHDelegate(context),
|
||||
delegate: SliverChildBuilderDelegate(
|
||||
(context, index) {
|
||||
if (index == loadingState.response.length - 1 &&
|
||||
_controller.hasNext) {
|
||||
if (index == response.length - 1 && _controller.hasNext) {
|
||||
_controller.onLoadMore();
|
||||
}
|
||||
final SpaceArchiveItem videoItem =
|
||||
loadingState.response[index];
|
||||
final SpaceArchiveItem videoItem = response[index];
|
||||
return VideoCardHMemberVideo(
|
||||
key: ValueKey('${videoItem.param}'),
|
||||
videoItem: videoItem,
|
||||
@@ -222,16 +221,16 @@ class _HorizontalMemberPageState extends State<HorizontalMemberPage> {
|
||||
},
|
||||
);
|
||||
},
|
||||
childCount: loadingState.response.length,
|
||||
childCount: response.length,
|
||||
),
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
Error() => scrollErrorWidget(
|
||||
Error(:var errMsg) => scrollErrorWidget(
|
||||
controller: _controller.scrollController,
|
||||
errMsg: loadingState.errMsg,
|
||||
errMsg: errMsg,
|
||||
onReload: _controller.onReload,
|
||||
),
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user