fix(recommend): 精简底部信息并优化进度拖动

This commit is contained in:
Zhou Weidong committed 2026-10-22 19:55:07 +08:00
1 parent ccda41b15b
commit d66ac8327e
16 files changed
+141 -163

No files matched your search

+23 -12
View File
@@ -28,12 +28,14 @@ class RecommendPage extends StatefulWidget {
required this.active,
required this.onSearch,
required this.onOpenFilter,
required this.onScrubVisibilityChanged,
});
final HomeFeedController feedController;
final bool active;
final VoidCallback onSearch;
final VoidCallback onOpenFilter;
final ValueChanged<bool> onScrubVisibilityChanged;
@override
State<RecommendPage> createState() => _RecommendPageState();
@@ -41,6 +43,7 @@ class RecommendPage extends StatefulWidget {
class _RecommendPageState extends State<RecommendPage> {
RecommendInnerTab _tab = RecommendInnerTab.feed;
bool _scrubbing = false;
@override
Widget build(BuildContext context) {
@@ -77,20 +80,21 @@ class _RecommendPageState extends State<RecommendPage> {
),
),
),
Positioned(
top: 0,
left: 0,
right: 0,
child: SafeArea(
bottom: false,
child: RecommendTopNav(
selected: _tab,
onVideo: _tab == RecommendInnerTab.feed,
onSelected: (tab) => setState(() => _tab = tab),
onSearch: widget.onSearch,
if (!_scrubbing)
Positioned(
top: 0,
left: 0,
right: 0,
child: SafeArea(
bottom: false,
child: RecommendTopNav(
selected: _tab,
onVideo: _tab == RecommendInnerTab.feed,
onSelected: (tab) => setState(() => _tab = tab),
onSearch: widget.onSearch,
),
),
),
),
],
),
);
@@ -136,9 +140,16 @@ class _RecommendPageState extends State<RecommendPage> {
_openDrama(drama, episodeId: episode.id),
onRefreshFeed: widget.feedController.refreshCurrent,
onLoadMore: widget.feedController.loadMore,
onScrubVisibilityChanged: _setScrubbing,
);
}
void _setScrubbing(bool value) {
if (_scrubbing == value) return;
setState(() => _scrubbing = value);
widget.onScrubVisibilityChanged(value);
}
Widget _withTopNavSpace(Widget child) {
return SafeArea(
bottom: false,