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