feat: 番剧选集
This commit is contained in:
@ -56,6 +56,7 @@ class BangumiIntroController extends GetxController {
|
|||||||
RxMap followStatus = {}.obs;
|
RxMap followStatus = {}.obs;
|
||||||
int _tempThemeValue = -1;
|
int _tempThemeValue = -1;
|
||||||
var userInfo;
|
var userInfo;
|
||||||
|
PersistentBottomSheetController? bottomSheetController;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void onInit() {
|
void onInit() {
|
||||||
@ -320,4 +321,8 @@ class BangumiIntroController extends GetxController {
|
|||||||
).buildShowContent(Get.context!),
|
).buildShowContent(Get.context!),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
hiddenEpisodeBottomSheet() {
|
||||||
|
bottomSheetController?.close();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -325,6 +325,7 @@ class _BangumiInfoState extends State<BangumiInfo> {
|
|||||||
changeFuc: (bvid, cid, aid) =>
|
changeFuc: (bvid, cid, aid) =>
|
||||||
bangumiIntroController.changeSeasonOrbangu(bvid, cid, aid),
|
bangumiIntroController.changeSeasonOrbangu(bvid, cid, aid),
|
||||||
bangumiDetail: bangumiIntroController.bangumiDetail.value,
|
bangumiDetail: bangumiIntroController.bangumiDetail.value,
|
||||||
|
bangumiIntroController: bangumiIntroController,
|
||||||
)
|
)
|
||||||
],
|
],
|
||||||
],
|
],
|
||||||
|
@ -10,6 +10,7 @@ import 'package:pilipala/utils/storage.dart';
|
|||||||
import 'package:scrollable_positioned_list/scrollable_positioned_list.dart';
|
import 'package:scrollable_positioned_list/scrollable_positioned_list.dart';
|
||||||
import '../../../common/pages_bottom_sheet.dart';
|
import '../../../common/pages_bottom_sheet.dart';
|
||||||
import '../../../models/common/video_episode_type.dart';
|
import '../../../models/common/video_episode_type.dart';
|
||||||
|
import '../introduction/controller.dart';
|
||||||
|
|
||||||
class BangumiPanel extends StatefulWidget {
|
class BangumiPanel extends StatefulWidget {
|
||||||
const BangumiPanel({
|
const BangumiPanel({
|
||||||
@ -19,6 +20,7 @@ class BangumiPanel extends StatefulWidget {
|
|||||||
this.sheetHeight,
|
this.sheetHeight,
|
||||||
this.changeFuc,
|
this.changeFuc,
|
||||||
this.bangumiDetail,
|
this.bangumiDetail,
|
||||||
|
this.bangumiIntroController,
|
||||||
});
|
});
|
||||||
|
|
||||||
final List<EpisodeItem> pages;
|
final List<EpisodeItem> pages;
|
||||||
@ -26,6 +28,7 @@ class BangumiPanel extends StatefulWidget {
|
|||||||
final double? sheetHeight;
|
final double? sheetHeight;
|
||||||
final Function? changeFuc;
|
final Function? changeFuc;
|
||||||
final BangumiInfoModel? bangumiDetail;
|
final BangumiInfoModel? bangumiDetail;
|
||||||
|
final BangumiIntroController? bangumiIntroController;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
State<BangumiPanel> createState() => _BangumiPanelState();
|
State<BangumiPanel> createState() => _BangumiPanelState();
|
||||||
@ -136,7 +139,8 @@ class _BangumiPanelState extends State<BangumiPanel> {
|
|||||||
padding: MaterialStateProperty.all(EdgeInsets.zero),
|
padding: MaterialStateProperty.all(EdgeInsets.zero),
|
||||||
),
|
),
|
||||||
onPressed: () {
|
onPressed: () {
|
||||||
_bottomSheetController = EpisodeBottomSheet(
|
widget.bangumiIntroController?.bottomSheetController =
|
||||||
|
_bottomSheetController = EpisodeBottomSheet(
|
||||||
currentCid: cid,
|
currentCid: cid,
|
||||||
episodes: widget.pages,
|
episodes: widget.pages,
|
||||||
changeFucCall: changeFucCall,
|
changeFucCall: changeFucCall,
|
||||||
|
@ -180,11 +180,20 @@ class _VideoDetailPageState extends State<VideoDetailPage>
|
|||||||
plPlayerController?.isFullScreen.listen((bool isFullScreen) {
|
plPlayerController?.isFullScreen.listen((bool isFullScreen) {
|
||||||
if (isFullScreen) {
|
if (isFullScreen) {
|
||||||
vdCtr.hiddenReplyReplyPanel();
|
vdCtr.hiddenReplyReplyPanel();
|
||||||
videoIntroController.hiddenEpisodeBottomSheet();
|
if (vdCtr.videoType == SearchType.video) {
|
||||||
if (videoIntroController.videoDetail.value.ugcSeason != null ||
|
videoIntroController.hiddenEpisodeBottomSheet();
|
||||||
(videoIntroController.videoDetail.value.pages != null &&
|
if (videoIntroController.videoDetail.value.ugcSeason != null ||
|
||||||
videoIntroController.videoDetail.value.pages!.length > 1)) {
|
(videoIntroController.videoDetail.value.pages != null &&
|
||||||
vdCtr.bottomList.insert(3, BottomControlType.episode);
|
videoIntroController.videoDetail.value.pages!.length > 1)) {
|
||||||
|
vdCtr.bottomList.insert(3, BottomControlType.episode);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (vdCtr.videoType == SearchType.media_bangumi) {
|
||||||
|
bangumiIntroController.hiddenEpisodeBottomSheet();
|
||||||
|
if (bangumiIntroController.bangumiDetail.value.episodes != null &&
|
||||||
|
bangumiIntroController.bangumiDetail.value.episodes!.length > 1) {
|
||||||
|
vdCtr.bottomList.insert(3, BottomControlType.episode);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (vdCtr.bottomList.contains(BottomControlType.episode)) {
|
if (vdCtr.bottomList.contains(BottomControlType.episode)) {
|
||||||
|
Reference in New Issue
Block a user