mirror of
https://github.com/bggRGjQaUbCoE/PiliPlus.git
synced 2026-06-10 21:11:27 +08:00
fix: all music achievement (#2363)
* fix: all music achievement * remove empty space [skip ci] --------- Co-authored-by: dom <githubaccount56556@proton.me>
This commit is contained in:
committed by
GitHub
parent
22fc256d8a
commit
75bbe5ab5a
@@ -82,26 +82,21 @@ class PBadge extends StatelessWidget {
|
||||
color = theme.onSurfaceVariant;
|
||||
}
|
||||
|
||||
late EdgeInsets paddingStyle = const EdgeInsets.symmetric(
|
||||
vertical: 2,
|
||||
horizontal: 3,
|
||||
);
|
||||
BorderRadius br = size == PBadgeSize.small
|
||||
? const BorderRadius.all(Radius.circular(3))
|
||||
: const BorderRadius.all(Radius.circular(4));
|
||||
late EdgeInsets paddingStyle = const .symmetric(vertical: 2, horizontal: 3);
|
||||
final BorderRadius br = size == .small
|
||||
? const .all(.circular(3))
|
||||
: const .all(.circular(4));
|
||||
|
||||
Widget content = Container(
|
||||
padding: padding ?? paddingStyle,
|
||||
decoration: BoxDecoration(
|
||||
borderRadius: br,
|
||||
color: bgColor,
|
||||
border: Border.all(color: borderColor),
|
||||
border: .all(color: borderColor),
|
||||
),
|
||||
child: Text(
|
||||
text!,
|
||||
textScaler: textScaleFactor != null
|
||||
? TextScaler.linear(textScaleFactor!)
|
||||
: null,
|
||||
textScaler: textScaleFactor != null ? .linear(textScaleFactor!) : null,
|
||||
style: TextStyle(
|
||||
height: 1,
|
||||
fontSize: fontSize,
|
||||
|
||||
@@ -15,7 +15,7 @@ class MusicDetail {
|
||||
required this.album,
|
||||
required this.artistsList,
|
||||
required this.listenPv,
|
||||
required this.musicRank,
|
||||
required this.achievement,
|
||||
required this.hotSongHeat,
|
||||
required this.musicComment,
|
||||
required this.musicRelation,
|
||||
@@ -26,7 +26,7 @@ class MusicDetail {
|
||||
final String? originArtist;
|
||||
final String? originArtistList;
|
||||
final int? mvAid;
|
||||
final int? mvCid;
|
||||
final int mvCid;
|
||||
final String? mvBvid;
|
||||
final String? mvCover;
|
||||
bool? wishListen;
|
||||
@@ -35,7 +35,7 @@ class MusicDetail {
|
||||
final String? album;
|
||||
final List<Artist>? artistsList;
|
||||
final int? listenPv;
|
||||
final String? musicRank;
|
||||
final List<String> achievement;
|
||||
final HotSongHeat? hotSongHeat;
|
||||
final MusicComment? musicComment;
|
||||
final int? musicRelation;
|
||||
@@ -47,7 +47,7 @@ class MusicDetail {
|
||||
originArtist: json["origin_artist"],
|
||||
originArtistList: json["origin_artist_list"],
|
||||
mvAid: json["mv_aid"],
|
||||
mvCid: json["mv_cid"],
|
||||
mvCid: json["mv_cid"] ?? 0,
|
||||
mvBvid: json["mv_bvid"],
|
||||
mvCover: json["mv_cover"],
|
||||
wishListen: json["wish_listen"],
|
||||
@@ -58,7 +58,11 @@ class MusicDetail {
|
||||
?.map((x) => Artist.fromJson(x))
|
||||
.toList(),
|
||||
listenPv: json["listen_pv"],
|
||||
musicRank: json["music_rank"],
|
||||
achievement: [
|
||||
...?json["achievement"],
|
||||
?json["music_rank"],
|
||||
?json["recreation_rank"],
|
||||
],
|
||||
hotSongHeat: json["hot_song_heat"] == null
|
||||
? null
|
||||
: HotSongHeat.fromJson(json["hot_song_heat"]),
|
||||
|
||||
@@ -9,7 +9,6 @@ import 'package:PiliPlus/common/widgets/image_viewer/hero.dart';
|
||||
import 'package:PiliPlus/common/widgets/marquee.dart';
|
||||
import 'package:PiliPlus/http/loading_state.dart';
|
||||
import 'package:PiliPlus/http/music.dart';
|
||||
import 'package:PiliPlus/models/common/badge_type.dart';
|
||||
import 'package:PiliPlus/models/common/image_preview_type.dart';
|
||||
import 'package:PiliPlus/models/common/image_type.dart';
|
||||
import 'package:PiliPlus/models_new/music/bgm_detail.dart';
|
||||
@@ -489,35 +488,35 @@ class _MusicDetailPageState extends CommonDynPageState<MusicDetailPage> {
|
||||
Wrap(
|
||||
spacing: 16,
|
||||
children: [
|
||||
if (!item.musicRank.isNullOrEmpty)
|
||||
PBadge(
|
||||
text: item.musicRank,
|
||||
type: PBadgeType.secondary,
|
||||
isStack: false,
|
||||
fontSize: 11,
|
||||
),
|
||||
if (item.mvCid != null && item.mvCid != 0)
|
||||
if (item.achievement.isNotEmpty)
|
||||
for (var i in item.achievement)
|
||||
if (i.isNotEmpty)
|
||||
PBadge(
|
||||
text: i,
|
||||
type: .secondary,
|
||||
isStack: false,
|
||||
fontSize: 11,
|
||||
),
|
||||
if (item.mvCid != 0)
|
||||
GestureDetector(
|
||||
onTap: () => PageUtils.toVideoPage(
|
||||
bvid: item.mvBvid,
|
||||
cid: item.mvCid!,
|
||||
cid: item.mvCid,
|
||||
aid: item.mvAid,
|
||||
),
|
||||
child: DecoratedBox(
|
||||
decoration: BoxDecoration(
|
||||
borderRadius: const BorderRadius.all(
|
||||
Radius.circular(4),
|
||||
),
|
||||
borderRadius: const .all(.circular(4)),
|
||||
color: theme.colorScheme.secondaryContainer
|
||||
.withValues(alpha: 0.5),
|
||||
),
|
||||
child: Padding(
|
||||
padding: const EdgeInsets.symmetric(
|
||||
padding: const .symmetric(
|
||||
vertical: 3,
|
||||
horizontal: 4,
|
||||
),
|
||||
child: Row(
|
||||
mainAxisSize: MainAxisSize.min,
|
||||
mainAxisSize: .min,
|
||||
children: [
|
||||
Icon(
|
||||
Icons.play_circle_outline,
|
||||
|
||||
Reference in New Issue
Block a user