mirror of
https://github.com/HChaZZY/PiliPlus.git
synced 2025-12-06 09:13:48 +08:00
opt: member video item
Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
@@ -61,12 +61,20 @@ class VideoCardHMemberVideo extends StatelessWidget {
|
||||
Hero(
|
||||
tag: heroTag,
|
||||
child: NetworkImgLayer(
|
||||
src: videoItem.cover,
|
||||
src:
|
||||
videoItem.season?['cover'] ?? videoItem.cover,
|
||||
width: maxWidth,
|
||||
height: maxHeight,
|
||||
),
|
||||
),
|
||||
if (videoItem.duration != null)
|
||||
if (videoItem.season != null)
|
||||
PBadge(
|
||||
text: '合集: ${videoItem.season?['count']}',
|
||||
right: 6.0,
|
||||
bottom: 6.0,
|
||||
type: 'gray',
|
||||
)
|
||||
else if (videoItem.duration != null)
|
||||
PBadge(
|
||||
text: Utils.timeFormat(videoItem.duration),
|
||||
right: 6.0,
|
||||
@@ -118,7 +126,7 @@ class VideoContent extends StatelessWidget {
|
||||
...[
|
||||
Expanded(
|
||||
child: Text(
|
||||
videoItem.title ?? '',
|
||||
videoItem.season?['title'] ?? videoItem.title ?? '',
|
||||
textAlign: TextAlign.start,
|
||||
style: TextStyle(
|
||||
fontWeight: FontWeight.w400,
|
||||
@@ -132,7 +140,9 @@ class VideoContent extends StatelessWidget {
|
||||
),
|
||||
],
|
||||
Text(
|
||||
videoItem.publishTimeText ?? '',
|
||||
videoItem.season != null
|
||||
? Utils.dateFormat(videoItem.season?['mtime'])
|
||||
: videoItem.publishTimeText ?? '',
|
||||
maxLines: 1,
|
||||
style: TextStyle(
|
||||
fontWeight: FontWeight.w400,
|
||||
@@ -147,12 +157,13 @@ class VideoContent extends StatelessWidget {
|
||||
children: [
|
||||
StatView(
|
||||
theme: 'gray',
|
||||
view: videoItem.viewContent,
|
||||
view: videoItem.season?['view_content'] ??
|
||||
videoItem.viewContent,
|
||||
),
|
||||
const SizedBox(width: 8),
|
||||
StatDanMu(
|
||||
theme: 'gray',
|
||||
danmu: videoItem.danmaku,
|
||||
danmu: videoItem.season?['danmaku'] ?? videoItem.danmaku,
|
||||
),
|
||||
],
|
||||
),
|
||||
|
||||
@@ -59,6 +59,7 @@ class Item {
|
||||
@JsonKey(name: 'publish_time_text')
|
||||
String? publishTimeText;
|
||||
List<Badge>? badges;
|
||||
Map? season;
|
||||
|
||||
Item({
|
||||
this.title,
|
||||
@@ -95,6 +96,7 @@ class Item {
|
||||
this.iconType,
|
||||
this.publishTimeText,
|
||||
this.badges,
|
||||
this.season,
|
||||
});
|
||||
|
||||
factory Item.fromJson(Map<String, dynamic> json) => _$ItemFromJson(json);
|
||||
|
||||
@@ -47,6 +47,7 @@ Item _$ItemFromJson(Map<String, dynamic> json) => Item(
|
||||
badges: (json['badges'] as List<dynamic>?)
|
||||
?.map((e) => Badge.fromJson(e as Map<String, dynamic>))
|
||||
.toList(),
|
||||
season: json['season'],
|
||||
);
|
||||
|
||||
Map<String, dynamic> _$ItemToJson(Item instance) => <String, dynamic>{
|
||||
@@ -84,4 +85,5 @@ Map<String, dynamic> _$ItemToJson(Item instance) => <String, dynamic>{
|
||||
'icon_type': instance.iconType,
|
||||
'publish_time_text': instance.publishTimeText,
|
||||
'badges': instance.badges,
|
||||
'season': instance.season,
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user