feat: audio page (#1518)

* feat: audio page

Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>

* opt ui

Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>

* impl intro, share, fav

Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>

* tweaks

Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>

* load prev/next

Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>

---------

Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
dom
2025-10-11 22:16:16 +08:00
committed by GitHub
parent a65edab7d1
commit 16f577f3fd
62 changed files with 49877 additions and 774 deletions

View File

@@ -5,9 +5,12 @@ import 'package:PiliPlus/common/widgets/image/image_save.dart';
import 'package:PiliPlus/common/widgets/image/network_img_layer.dart';
import 'package:PiliPlus/common/widgets/select_mask.dart';
import 'package:PiliPlus/common/widgets/stat/stat.dart';
import 'package:PiliPlus/grpc/bilibili/app/listener/v1.pbenum.dart'
show PlaylistSource;
import 'package:PiliPlus/models/common/badge_type.dart';
import 'package:PiliPlus/models/common/stat_type.dart';
import 'package:PiliPlus/models_new/fav/fav_detail/media.dart';
import 'package:PiliPlus/pages/audio/view.dart';
import 'package:PiliPlus/pages/fav_detail/controller.dart';
import 'package:PiliPlus/utils/date_utils.dart';
import 'package:PiliPlus/utils/duration_utils.dart';
@@ -64,16 +67,24 @@ class FavVideoCardH extends StatelessWidget {
return;
}
// pgc
if (item.type == 24) {
PageUtils.viewPgc(
seasonId: item.ogv!.seasonId,
epId: item.id,
);
return;
switch (item.type) {
case 12:
AudioPage.toAudioPage(
oid: item.id!,
itemType: 3,
from: PlaylistSource.AUDIO_CARD,
);
break;
case 24:
PageUtils.viewPgc(
seasonId: item.ogv!.seasonId,
epId: item.id,
);
break;
default:
ctr!.onViewFav(item, index);
break;
}
ctr!.onViewFav(item, index);
},
onLongPress: onLongPress,
onSecondaryTap: Utils.isMobile ? null : onLongPress,