mirror of
https://github.com/HChaZZY/PiliPlus.git
synced 2025-12-27 12:36:27 +08:00
opt: search panel
This commit is contained in:
@@ -4,7 +4,6 @@ import 'package:flutter/material.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:PiliPalaX/common/skeleton/media_bangumi.dart';
|
||||
import 'package:PiliPalaX/common/skeleton/video_card_h.dart';
|
||||
import 'package:PiliPalaX/common/widgets/http_error.dart';
|
||||
import 'package:PiliPalaX/models/common/search_type.dart';
|
||||
|
||||
import '../../common/constants.dart';
|
||||
@@ -75,41 +74,7 @@ class _SearchPanelState extends State<SearchPanel>
|
||||
}
|
||||
|
||||
Widget _buildBody(LoadingState loadingState) {
|
||||
if (loadingState is Success) {
|
||||
switch (widget.searchType) {
|
||||
case SearchType.video:
|
||||
return SearchVideoPanel(
|
||||
ctr: _searchPanelController,
|
||||
list: loadingState.response,
|
||||
);
|
||||
case SearchType.media_bangumi:
|
||||
return searchBangumiPanel(
|
||||
context,
|
||||
_searchPanelController,
|
||||
loadingState.response,
|
||||
);
|
||||
case SearchType.bili_user:
|
||||
return searchUserPanel(
|
||||
context,
|
||||
_searchPanelController,
|
||||
loadingState.response,
|
||||
);
|
||||
case SearchType.live_room:
|
||||
return searchLivePanel(
|
||||
context,
|
||||
_searchPanelController,
|
||||
loadingState.response,
|
||||
);
|
||||
case SearchType.article:
|
||||
return searchArticlePanel(
|
||||
context,
|
||||
_searchPanelController,
|
||||
loadingState.response,
|
||||
);
|
||||
default:
|
||||
return const SizedBox();
|
||||
}
|
||||
} else if (loadingState is Loading) {
|
||||
if (loadingState is Loading) {
|
||||
return CustomScrollView(
|
||||
physics: const AlwaysScrollableScrollPhysics(),
|
||||
slivers: [
|
||||
@@ -141,15 +106,39 @@ class _SearchPanelState extends State<SearchPanel>
|
||||
],
|
||||
);
|
||||
} else {
|
||||
return CustomScrollView(
|
||||
physics: const NeverScrollableScrollPhysics(),
|
||||
slivers: [
|
||||
HttpError(
|
||||
errMsg: loadingState is Error ? loadingState.errMsg : '没有相关数据',
|
||||
fn: _searchPanelController.onReload,
|
||||
),
|
||||
],
|
||||
);
|
||||
switch (widget.searchType) {
|
||||
case SearchType.video:
|
||||
return SearchVideoPanel(
|
||||
ctr: _searchPanelController,
|
||||
loadingState: loadingState,
|
||||
);
|
||||
case SearchType.media_bangumi:
|
||||
return searchBangumiPanel(
|
||||
context,
|
||||
_searchPanelController,
|
||||
loadingState,
|
||||
);
|
||||
case SearchType.bili_user:
|
||||
return searchUserPanel(
|
||||
context,
|
||||
_searchPanelController,
|
||||
loadingState,
|
||||
);
|
||||
case SearchType.live_room:
|
||||
return searchLivePanel(
|
||||
context,
|
||||
_searchPanelController,
|
||||
loadingState,
|
||||
);
|
||||
case SearchType.article:
|
||||
return searchArticlePanel(
|
||||
context,
|
||||
_searchPanelController,
|
||||
loadingState,
|
||||
);
|
||||
default:
|
||||
return const SizedBox();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user