feat: 番剧选集

This commit is contained in:
guozhigq
2024-04-13 23:34:46 +08:00
parent c8f7076b12
commit edca1ddd8c
4 changed files with 25 additions and 6 deletions

View File

@ -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();
}
}

View File

@ -325,6 +325,7 @@ class _BangumiInfoState extends State<BangumiInfo> {
changeFuc: (bvid, cid, aid) =>
bangumiIntroController.changeSeasonOrbangu(bvid, cid, aid),
bangumiDetail: bangumiIntroController.bangumiDetail.value,
bangumiIntroController: bangumiIntroController,
)
],
],

View File

@ -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,7 +139,8 @@ class _BangumiPanelState extends State<BangumiPanel> {
padding: MaterialStateProperty.all(EdgeInsets.zero),
),
onPressed: () {
_bottomSheetController = EpisodeBottomSheet(
widget.bangumiIntroController?.bottomSheetController =
_bottomSheetController = EpisodeBottomSheet(
currentCid: cid,
episodes: widget.pages,
changeFucCall: changeFucCall,

View File

@ -180,11 +180,20 @@ class _VideoDetailPageState extends State<VideoDetailPage>
plPlayerController?.isFullScreen.listen((bool isFullScreen) {
if (isFullScreen) {
vdCtr.hiddenReplyReplyPanel();
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.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)) {