opt: search panel layout

This commit is contained in:
guozhigq
2024-10-26 15:10:30 +08:00
parent b6e6cc1735
commit baa6a644e3
8 changed files with 134 additions and 77 deletions

View File

@ -4,6 +4,7 @@ import 'package:easy_debounce/easy_throttle.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:pilipala/common/skeleton/media_bangumi.dart';
import 'package:pilipala/common/skeleton/user_list.dart';
import 'package:pilipala/common/skeleton/video_card_h.dart';
import 'package:pilipala/common/widgets/http_error.dart';
import 'package:pilipala/models/common/search_type.dart';
@ -81,11 +82,11 @@ class _SearchPanelState extends State<SearchPanel>
future: _futureBuilderFuture,
builder: (context, snapshot) {
if (snapshot.connectionState == ConnectionState.done) {
if (snapshot.data != null) {
Map data = snapshot.data;
Map? data = snapshot.data;
if (data != null && data['status']) {
var ctr = _searchPanelController;
RxList list = ctr.resultList;
if (data['status']) {
if (list.isNotEmpty) {
return Obx(() {
switch (widget.searchType) {
case SearchType.video:
@ -110,21 +111,18 @@ class _SearchPanelState extends State<SearchPanel>
});
} else {
return HttpError(
errMsg: data['msg'],
fn: () {
setState(() {
_searchPanelController.onSearch();
});
},
errMsg: '没有数据',
isShowBtn: false,
fn: () => {},
isInSliver: false,
);
}
} else {
return HttpError(
errMsg: '没有相关数据',
errMsg: data?['msg'] ?? '请求异常',
fn: () {
setState(() {
_searchPanelController.onSearch();
_futureBuilderFuture = _searchPanelController.onRefresh();
});
},
isInSliver: false,
@ -143,7 +141,7 @@ class _SearchPanelState extends State<SearchPanel>
case SearchType.media_bangumi:
return const MediaBangumiSkeleton();
case SearchType.bili_user:
return const VideoCardHSkeleton();
return const UserListSkeleton();
case SearchType.live_room:
return const VideoCardHSkeleton();
default: