Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
bggRGjQaUbCoE
2025-12-27 20:54:41 +08:00
parent 25acf3a9bb
commit b51c646415
227 changed files with 768 additions and 764 deletions

View File

@@ -59,7 +59,7 @@ class _LaterViewChildPageState extends State<LaterViewChildPage>
Widget _buildBody(LoadingState<List<LaterItemModel>?> loadingState) {
return switch (loadingState) {
Loading() => gridSkeleton,
Success(:var response) =>
Success(:final response) =>
response != null && response.isNotEmpty
? SliverGrid.builder(
gridDelegate: gridDelegate,
@@ -67,7 +67,7 @@ class _LaterViewChildPageState extends State<LaterViewChildPage>
if (index == response.length - 1) {
_laterController.onLoadMore();
}
var videoItem = response[index];
final videoItem = response[index];
return VideoCardHLater(
index: index,
videoItem: videoItem,
@@ -98,7 +98,7 @@ class _LaterViewChildPageState extends State<LaterViewChildPage>
itemCount: response.length,
)
: HttpError(onReload: _laterController.onReload),
Error(:var errMsg) => HttpError(
Error(:final errMsg) => HttpError(
errMsg: errMsg,
onReload: _laterController.onReload,
),

View File

@@ -142,7 +142,7 @@ class LaterController extends MultiSelectController<LaterData, LaterItemModel>
title: '确认',
content: content,
onConfirm: () async {
var res = await UserHttp.toViewClear(cleanType);
final res = await UserHttp.toViewClear(cleanType);
if (res.isSuccess) {
onReload();
final restTypes = List<LaterViewType>.from(LaterViewType.values)

View File

@@ -8,7 +8,6 @@ import 'package:PiliPlus/common/widgets/stat/stat.dart';
import 'package:PiliPlus/http/search.dart';
import 'package:PiliPlus/models/common/badge_type.dart';
import 'package:PiliPlus/models/common/stat_type.dart';
import 'package:PiliPlus/models/search/result.dart';
import 'package:PiliPlus/models_new/later/list.dart';
import 'package:PiliPlus/pages/later/controller.dart';
import 'package:PiliPlus/utils/duration_utils.dart';
@@ -33,13 +32,6 @@ class VideoCardHLater extends StatelessWidget {
@override
Widget build(BuildContext context) {
String type = 'video';
if (videoItem case SearchVideoItemModel item) {
var typeOrNull = item.type;
if (typeOrNull != null && typeOrNull.isNotEmpty) {
type = typeOrNull;
}
}
final theme = Theme.of(context);
final enableMultiSelect = ctr.enableMultiSelect.value;
@@ -57,11 +49,11 @@ class VideoCardHLater extends StatelessWidget {
onTap: enableMultiSelect
? () => ctr.onSelect(videoItem)
: () async {
if (type == 'ketang') {
if (videoItem.isPugv ?? false) {
PageUtils.viewPugv(seasonId: videoItem.aid);
return;
}
if (videoItem.isPgc == true) {
if (videoItem.isPgc ?? false) {
if (videoItem.bangumi?.epId != null) {
PageUtils.viewPgc(epId: videoItem.bangumi!.epId);
} else if (videoItem.redirectUrl?.isNotEmpty == true) {
@@ -125,7 +117,7 @@ class VideoCardHLater extends StatelessWidget {
top: 6.0,
right: 6.0,
)
else if (type == 'ketang')
else if (videoItem.isPugv ?? false)
const PBadge(
text: '课堂',
top: 6.0,