fix: fav search

Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
bggRGjQaUbCoE
2025-03-24 10:16:01 +08:00
parent 8ddf42fff1
commit f110c2a55f
2 changed files with 32 additions and 20 deletions

View File

@@ -52,13 +52,17 @@ class FavSearchController extends CommonController {
List? dataList = searchType == SearchType.fav List? dataList = searchType == SearchType.fav
? (currentPage == 1 ? (currentPage == 1
? response.response.medias ? response.response.medias
: currentList + response.response.medias) : response.response.medias != null
? currentList + response.response.medias
: currentList)
: (currentPage == 1 : (currentPage == 1
? response.response.list ? response.response.list
: currentList + response.response.list); : response.response.list != null
? currentList + response.response.list
: currentList);
isEnd = searchType == SearchType.fav isEnd = searchType == SearchType.fav
? response.response.hasMore == false ? response.response.hasMore == false
: response.response.list.isEmpty; : response.response.list == null || response.response.list.isEmpty;
loadingState.value = LoadingState.success(dataList); loadingState.value = LoadingState.success(dataList);
return true; return true;
} }

View File

@@ -123,6 +123,9 @@ class _FavSearchPageState extends State<FavSearchPage> {
) )
: _favSearchCtr.searchType == SearchType.follow : _favSearchCtr.searchType == SearchType.follow
? ListView.builder( ? ListView.builder(
padding: EdgeInsets.only(
bottom: MediaQuery.of(context).padding.bottom + 80,
),
controller: _favSearchCtr.scrollController, controller: _favSearchCtr.scrollController,
itemCount: loadingState.response.length, itemCount: loadingState.response.length,
itemBuilder: ((context, index) { itemBuilder: ((context, index) {
@@ -138,7 +141,11 @@ class _FavSearchPageState extends State<FavSearchPage> {
physics: const AlwaysScrollableScrollPhysics(), physics: const AlwaysScrollableScrollPhysics(),
controller: _favSearchCtr.scrollController, controller: _favSearchCtr.scrollController,
slivers: [ slivers: [
SliverGrid( SliverPadding(
padding: EdgeInsets.only(
bottom: MediaQuery.of(context).padding.bottom + 80,
),
sliver: SliverGrid(
gridDelegate: SliverGridDelegateWithExtentAndRatio( gridDelegate: SliverGridDelegateWithExtentAndRatio(
mainAxisSpacing: 2, mainAxisSpacing: 2,
maxCrossAxisExtent: Grid.mediumCardWidth * 2, maxCrossAxisExtent: Grid.mediumCardWidth * 2,
@@ -158,6 +165,7 @@ class _FavSearchPageState extends State<FavSearchPage> {
childCount: loadingState.response.length, childCount: loadingState.response.length,
), ),
), ),
),
], ],
) )
: errorWidget( : errorWidget(