fix(flutter): 精修首页 feed 交互与底色

This commit is contained in:
Zhou Weidong committed 2026-10-20 13:56:51 +08:00
1 parent 435fbbbbb1
commit 321c62664c
17 files changed
+427 -448

No files matched your search

+11 -2
View File
@@ -73,6 +73,7 @@ class HomePage extends StatelessWidget {
return _HomeTabs(
key: ValueKey(catalog.dramas.first.id),
dramas: catalog.dramas,
onRefreshFeed: catalog.load,
);
}
}
@@ -97,9 +98,14 @@ class HomeFailureView extends StatelessWidget {
/// 四个根页面共享同一路由并保持各自状态。
class _HomeTabs extends StatefulWidget {
const _HomeTabs({super.key, required this.dramas});
const _HomeTabs({
super.key,
required this.dramas,
required this.onRefreshFeed,
});
final List<Drama> dramas;
final VoidCallback onRefreshFeed;
@override
State<_HomeTabs> createState() => _HomeTabsState();
@@ -138,7 +144,7 @@ class _HomeTabsState extends State<_HomeTabs> {
},
child: Scaffold(
key: logic.scaffoldKey,
backgroundColor: Colors.transparent,
backgroundColor: logic.tab == 0 ? Colors.black : Colors.transparent,
body: _body(context),
bottomNavigationBar: logic.videoImmersive ? null : _nav(context, l10n),
),
@@ -165,6 +171,9 @@ class _HomeTabsState extends State<_HomeTabs> {
drama: widget.dramas.first,
initialIndex: 0,
feedDramas: widget.dramas,
onOpenFullPlayer: (drama, episode) =>
logic.playDrama(context, drama, episodeId: episode.id),
onRefreshFeed: widget.onRefreshFeed,
onDramaChanged: logic.onDramaChanged,
onImmersiveChanged: logic.onImmersiveChanged,
onSearch: () => logic.select(1, search: true),