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

@@ -53,13 +53,13 @@ class MemberSearchChildController extends CommonListController {
return switch (searchType) {
MemberSearchType.archive => MemberHttp.memberArchiveNew(
mid: controller.mid,
pn: currentPage,
pn: page,
keyword: controller.editingController.text,
order: 'pubdate',
),
MemberSearchType.dynamic => MemberHttp.memberDynamicSearchNew(
mid: controller.mid,
pn: currentPage,
pn: page,
offset: offset ?? '',
keyword: controller.editingController.text,
),

View File

@@ -72,7 +72,7 @@ class _MemberSearchChildPageState extends State<MemberSearchChildPage>
Widget _buildBody(LoadingState<List?> loadingState) {
return switch (loadingState) {
Loading() => _buildLoading,
Success() => loadingState.response?.isNotEmpty == true
Success(:var response) => response?.isNotEmpty == true
? Builder(
builder: (context) {
return switch (widget.searchType) {
@@ -80,14 +80,14 @@ class _MemberSearchChildPageState extends State<MemberSearchChildPage>
gridDelegate: Grid.videoCardHDelegate(context),
delegate: SliverChildBuilderDelegate(
(context, index) {
if (index == loadingState.response!.length - 1) {
if (index == response.length - 1) {
_controller.onLoadMore();
}
return VideoCardH(
videoItem: loadingState.response![index],
videoItem: response[index],
);
},
childCount: loadingState.response!.length,
childCount: response!.length,
),
),
MemberSearchType.dynamic => dynamicsWaterfallFlow
@@ -96,14 +96,14 @@ class _MemberSearchChildPageState extends State<MemberSearchChildPage>
crossAxisSpacing: StyleString.safeSpace,
mainAxisSpacing: StyleString.safeSpace,
lastChildLayoutTypeBuilder: (index) {
if (index == loadingState.response!.length - 1) {
if (index == response.length - 1) {
_controller.onLoadMore();
}
return index == loadingState.response!.length
return index == response.length
? LastChildLayoutType.foot
: LastChildLayoutType.none;
},
children: loadingState.response!
children: response!
.map((item) => DynamicPanel(item: item))
.toList(),
)
@@ -114,15 +114,14 @@ class _MemberSearchChildPageState extends State<MemberSearchChildPage>
maxExtent: Grid.smallCardWidth * 2,
sliver: SliverList.builder(
itemBuilder: (context, index) {
if (index ==
loadingState.response!.length - 1) {
if (index == response.length - 1) {
_controller.onLoadMore();
}
return DynamicPanel(
item: loadingState.response![index],
item: response[index],
);
},
itemCount: loadingState.response!.length,
itemCount: response!.length,
),
),
const SliverFillRemaining(),
@@ -134,8 +133,8 @@ class _MemberSearchChildPageState extends State<MemberSearchChildPage>
: HttpError(
onReload: _controller.onReload,
),
Error() => HttpError(
errMsg: loadingState.errMsg,
Error(:var errMsg) => HttpError(
errMsg: errMsg,
onReload: _controller.onReload,
),
};