mirror of
https://github.com/bggRGjQaUbCoE/PiliPlus.git
synced 2026-07-27 05:50:12 +08:00
opt handle data
Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
@@ -938,6 +938,10 @@ class VideoDetailController extends GetxController
|
||||
|
||||
/// 发送弹幕
|
||||
Future<void> showShootDanmakuSheet() async {
|
||||
if (plPlayerController.dmState.contains(cid.value)) {
|
||||
SmartDialog.showToast('UP主已关闭弹幕');
|
||||
return;
|
||||
}
|
||||
bool isPlaying =
|
||||
plPlayerController.playerStatus.status.value == PlayerStatus.playing;
|
||||
if (isPlaying) {
|
||||
|
||||
@@ -352,12 +352,10 @@ class BangumiIntroController extends GetxController {
|
||||
// 选择文件夹
|
||||
void onChoose(bool checkValue, int index) {
|
||||
feedBack();
|
||||
List<FavFolderItemData> datalist = favFolderData.value.list!;
|
||||
datalist[index].favState = checkValue ? 1 : 0;
|
||||
datalist[index].mediaCount = checkValue
|
||||
? datalist[index].mediaCount! + 1
|
||||
: datalist[index].mediaCount! - 1;
|
||||
favFolderData.value.list = datalist;
|
||||
FavFolderItemData item = favFolderData.value.list![index];
|
||||
item
|
||||
..favState = checkValue ? 1 : 0
|
||||
..mediaCount = checkValue ? item.mediaCount! + 1 : item.mediaCount! - 1;
|
||||
favFolderData.refresh();
|
||||
}
|
||||
|
||||
|
||||
@@ -558,12 +558,10 @@ class VideoIntroController extends GetxController {
|
||||
// 选择文件夹
|
||||
void onChoose(bool checkValue, int index) {
|
||||
feedBack();
|
||||
List<FavFolderItemData> datalist = favFolderData.value.list!;
|
||||
datalist[index].favState = checkValue ? 1 : 0;
|
||||
datalist[index].mediaCount = checkValue
|
||||
? datalist[index].mediaCount! + 1
|
||||
: datalist[index].mediaCount! - 1;
|
||||
favFolderData.value.list = datalist;
|
||||
FavFolderItemData item = favFolderData.value.list![index];
|
||||
item
|
||||
..favState = checkValue ? 1 : 0
|
||||
..mediaCount = checkValue ? item.mediaCount! + 1 : item.mediaCount! - 1;
|
||||
favFolderData.refresh();
|
||||
}
|
||||
|
||||
|
||||
@@ -332,9 +332,9 @@ class _HorizontalMemberPageState extends State<HorizontalMemberPage> {
|
||||
mid: widget.mid,
|
||||
isFollow: memberInfoModel.isFollowed ?? false,
|
||||
callback: (attribute) {
|
||||
_controller.userState.value.data.isFollowed =
|
||||
attribute != 0;
|
||||
_controller.userState.refresh();
|
||||
_controller
|
||||
..userState.value.data.isFollowed = attribute != 0
|
||||
..userState.refresh();
|
||||
},
|
||||
);
|
||||
}
|
||||
|
||||
@@ -354,10 +354,10 @@ class _VideoReplyReplyPanelState
|
||||
if (res != null) {
|
||||
_savedReplies.remove(key);
|
||||
ReplyInfo replyInfo = RequestUtils.replyCast(res);
|
||||
_videoReplyReplyController.loadingState.value.dataOrNull
|
||||
?.insert(index + 1, replyInfo);
|
||||
_videoReplyReplyController.count.value += 1;
|
||||
_videoReplyReplyController.loadingState.refresh();
|
||||
_videoReplyReplyController
|
||||
..count.value += 1
|
||||
..loadingState.value.dataOrNull?.insert(index + 1, replyInfo)
|
||||
..loadingState.refresh();
|
||||
if (_videoReplyReplyController.enableCommAntifraud && mounted) {
|
||||
_videoReplyReplyController.onCheckReply(context, replyInfo);
|
||||
}
|
||||
|
||||
@@ -2179,25 +2179,17 @@ class _VideoDetailPageVState extends State<VideoDetailPageV>
|
||||
|
||||
if (isSeason) {
|
||||
// reverse season
|
||||
videoIntroController.videoDetail.value.ugcSeason!
|
||||
.sections![videoDetailController.seasonIndex.value].isReversed =
|
||||
!videoIntroController.videoDetail.value.ugcSeason!
|
||||
.sections![videoDetailController.seasonIndex.value].isReversed;
|
||||
videoIntroController.videoDetail.value.ugcSeason!
|
||||
.sections![videoDetailController.seasonIndex.value].episodes =
|
||||
videoIntroController
|
||||
.videoDetail
|
||||
.value
|
||||
.ugcSeason!
|
||||
.sections![videoDetailController.seasonIndex.value]
|
||||
.episodes!
|
||||
.reversed
|
||||
.toList();
|
||||
final item = videoIntroController.videoDetail.value.ugcSeason!
|
||||
.sections![videoDetailController.seasonIndex.value];
|
||||
item
|
||||
..isReversed = !item.isReversed
|
||||
..episodes = item.episodes!.reversed.toList();
|
||||
|
||||
if (videoDetailController.plPlayerController.reverseFromFirst.not) {
|
||||
// keep current episode
|
||||
videoDetailController.seasonIndex.refresh();
|
||||
videoDetailController.cid.refresh();
|
||||
videoDetailController
|
||||
..seasonIndex.refresh()
|
||||
..cid.refresh();
|
||||
} else {
|
||||
// switch to first episode
|
||||
dynamic episode = videoIntroController.videoDetail.value.ugcSeason!
|
||||
@@ -2206,16 +2198,17 @@ class _VideoDetailPageVState extends State<VideoDetailPageV>
|
||||
changeEpisode(episode);
|
||||
videoDetailController.seasonCid = episode.cid;
|
||||
} else {
|
||||
videoDetailController.seasonIndex.refresh();
|
||||
videoDetailController.cid.refresh();
|
||||
videoDetailController
|
||||
..seasonIndex.refresh()
|
||||
..cid.refresh();
|
||||
}
|
||||
}
|
||||
} else {
|
||||
// reverse part
|
||||
videoIntroController.videoDetail.value.isPageReversed =
|
||||
!videoIntroController.videoDetail.value.isPageReversed;
|
||||
videoIntroController.videoDetail.value.pages =
|
||||
videoIntroController.videoDetail.value.pages!.reversed.toList();
|
||||
final item = videoIntroController.videoDetail.value;
|
||||
item
|
||||
..isPageReversed = !item.isPageReversed
|
||||
..pages = item.pages!.reversed.toList();
|
||||
if (videoDetailController.plPlayerController.reverseFromFirst.not) {
|
||||
// keep current episode
|
||||
videoDetailController.cid.refresh();
|
||||
|
||||
@@ -1911,13 +1911,22 @@ class HeaderControlState extends State<HeaderControl> {
|
||||
builder: (context, constraints) {
|
||||
return Obx(
|
||||
() {
|
||||
String title = videoIntroController
|
||||
.videoDetail.value.pages
|
||||
?.firstWhereOrNull((e) =>
|
||||
e.cid == videoDetailCtr.cid.value)
|
||||
?.pagePart ??
|
||||
videoIntroController
|
||||
.videoDetail.value.title!;
|
||||
String title;
|
||||
|
||||
if (videoIntroController
|
||||
.videoDetail.value.videos ==
|
||||
1) {
|
||||
title = videoIntroController
|
||||
.videoDetail.value.title!;
|
||||
} else {
|
||||
title = videoIntroController
|
||||
.videoDetail.value.pages
|
||||
?.firstWhereOrNull((e) =>
|
||||
e.cid == videoDetailCtr.cid.value)
|
||||
?.pagePart ??
|
||||
videoIntroController
|
||||
.videoDetail.value.title!;
|
||||
}
|
||||
final textPainter = TextPainter(
|
||||
text: TextSpan(
|
||||
text: title,
|
||||
|
||||
Reference in New Issue
Block a user