opt intro controller

Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
bggRGjQaUbCoE
2025-08-02 14:07:29 +08:00
parent 199ddc0e7e
commit 3c964787df
19 changed files with 507 additions and 446 deletions

View File

@@ -16,7 +16,7 @@ class PagesPanel extends StatefulWidget {
required this.bvid,
required this.heroTag,
this.showEpisodes,
required this.videoIntroController,
required this.ugcIntroController,
});
final List<Part>? list;
@@ -25,7 +25,7 @@ class PagesPanel extends StatefulWidget {
final String bvid;
final String heroTag;
final Function? showEpisodes;
final VideoIntroController videoIntroController;
final UgcIntroController ugcIntroController;
@override
State<PagesPanel> createState() => _PagesPanelState();
@@ -39,7 +39,7 @@ class _PagesPanelState extends State<PagesPanel> {
StreamSubscription? _listener;
List<Part> get pages =>
widget.list ?? widget.videoIntroController.videoDetail.value.pages!;
widget.list ?? widget.ugcIntroController.videoDetail.value.pages!;
@override
void initState() {
@@ -48,7 +48,7 @@ class _PagesPanelState extends State<PagesPanel> {
tag: widget.heroTag,
);
if (widget.list == null) {
cid = widget.videoIntroController.lastPlayCid.value;
cid = widget.ugcIntroController.cid.value;
pageIndex = pages.indexWhere((Part e) => e.cid == cid);
_listener = _videoDetailController.cid.listen((int cid) {
this.cid = cid;
@@ -156,7 +156,7 @@ class _PagesPanelState extends State<PagesPanel> {
if (widget.showEpisodes == null) {
Get.back();
}
widget.videoIntroController.changeSeasonOrbangu(
widget.ugcIntroController.onChangeEpisode(
null,
widget.bvid,
item.cid,
@@ -165,7 +165,7 @@ class _PagesPanelState extends State<PagesPanel> {
);
if (widget.list != null &&
widget
.videoIntroController
.ugcIntroController
.videoDetail
.value
.ugcSeason !=

View File

@@ -11,17 +11,17 @@ import 'package:get/get.dart';
class SeasonPanel extends StatefulWidget {
const SeasonPanel({
super.key,
required this.changeFuc,
required this.onChangeEpisode,
required this.heroTag,
required this.showEpisodes,
this.onTap,
required this.videoIntroController,
required this.ugcIntroController,
});
final Function changeFuc;
final Function onChangeEpisode;
final String heroTag;
final Function showEpisodes;
final bool? onTap;
final VideoIntroController videoIntroController;
final UgcIntroController ugcIntroController;
@override
State<SeasonPanel> createState() => _SeasonPanelState();
@@ -33,9 +33,9 @@ class _SeasonPanelState extends State<SeasonPanel> {
StreamSubscription? _listener;
List<EpisodeItem> episodes = <EpisodeItem>[];
VideoIntroController get videoIntroController => widget.videoIntroController;
UgcIntroController get ugcIntroController => widget.ugcIntroController;
VideoDetailData get videoDetail =>
widget.videoIntroController.videoDetail.value;
widget.ugcIntroController.videoDetail.value;
@override
void initState() {
@@ -44,13 +44,12 @@ class _SeasonPanelState extends State<SeasonPanel> {
tag: widget.heroTag,
);
_videoDetailController.seasonCid =
videoIntroController.lastPlayCid.value != 0
_videoDetailController.seasonCid = ugcIntroController.cid.value != 0
? (videoDetail.pages?.isNotEmpty == true
? videoDetail.isPageReversed
? videoDetail.pages!.last.cid
: videoDetail.pages!.first.cid
: videoIntroController.lastPlayCid.value)
: ugcIntroController.cid.value)
: videoDetail.isPageReversed
? videoDetail.pages!.last.cid
: videoDetail.pages!.first.cid;