feat: 分类页面优化,播放器详情处理当前集,首页的优化。图片导入。

This commit is contained in:
chengsiwen committed 2026-07-01 08:53:40 +08:00
1 parent 4ccea08472
commit 2f1ec27802
28 files changed
+868 -568

No files matched your search

+8 -5
View File
@@ -9,6 +9,7 @@ import 'package:skywood/utils/tools/widgets/sky_app_bar.dart';
import 'package:skywood/utils/tools/widgets/sky_common_widget.dart';
import '../../../utils/tools/widgets/sky_text_field.dart';
import '../widget/search_util.dart';
class ResultPage extends StatefulWidget {
@@ -26,7 +27,6 @@ class ResultPage extends StatefulWidget {
class _ResultPageState extends State<ResultPage> {
List<String> _searchHistory = [];
final _searchController = TextEditingController();
final _searchFocus = FocusNode();
List<SkywoodDrama> _searchResult = [];
@@ -39,9 +39,13 @@ class _ResultPageState extends State<ResultPage> {
_search();
}
void _search() {
void _search() async {
String keyword = _searchController.text;
if (keyword.trim().isEmpty) return;
if (keyword.trim().isEmpty) {
_searchFocus.requestFocus();
return;
}
await SearchUtil.addSearch(keyword);
PlayClient.search(keyword: keyword).then((valuer) {
setState(() {
_searchResult = valuer;
@@ -64,10 +68,9 @@ class _ResultPageState extends State<ResultPage> {
prefix: HelpImg.asset(ConstImg.search, width: 14.w, height: 14.w),
textInputAction: TextInputAction.search,
onEditingComplete: () {
print('object');
_searchFocus.unfocus();
if (_searchController.text.trim().isEmpty) return;
// _onGoSearch(_searchController.text);
_search();
},
),
),
+7 -12
View File
@@ -10,6 +10,7 @@ import 'package:skywood/utils/models/drama/skywood_drama.dart';
import 'package:skywood/utils/tools/help_nav.dart';
import 'package:skywood/utils/tools/sky_time_tool.dart';
import 'package:skywood/utils/tools/widgets/sky_app_bar.dart';
import 'package:skywood/utils/tools/widgets/sky_common_widget.dart';
import 'package:skywood/utils/tools/widgets/sky_text_field.dart';
class SearchPage extends StatefulWidget {
@@ -27,16 +28,6 @@ class _MainRootState extends State<SearchPage> {
final _searchController = TextEditingController();
final _searchFocus = FocusNode();
final List<String> _titles = const [
"Mr. Gu's Sweet Weakness",
'Secret Wife with a Scar',
'A Second Chance at Love',
'Shadows of the Heart',
'Boarding Pass To Love',
'The Love Blueprint',
'Who Dared Touch My Bride',
'Famous Families Fled',
];
List<SkywoodDrama> _searchHots = [];
Future<void> _loadSearchHistory() async {
@@ -103,7 +94,8 @@ class _MainRootState extends State<SearchPage> {
body: CustomScrollView(
slivers: [
SliverToBoxAdapter(child: _buildHistory()),
SliverToBoxAdapter(child: SizedBox(height: 30.h)),
if (_searchHistory.isNotEmpty)
SliverToBoxAdapter(child: SizedBox(height: 30.h)),
SliverToBoxAdapter(child: _buildTitle('Trending Now')),
SliverToBoxAdapter(child: SizedBox(height: 10.h)),
SliverToBoxAdapter(child: _buildTrendingList()),
@@ -115,9 +107,12 @@ class _MainRootState extends State<SearchPage> {
Widget _buildHistory() {
return SearchView(
return _searchHistory.isEmpty ? SizedBox() : SearchView(
searchHistory: _searchHistory,
onTapClear: () {
// HelpNav.showDialog(ComConfirmWidget(
// title: 'Clear Search History?',
// ));
_searchHistory.clear();
setState(() {});
},