opt: staff widget

Closes #61

Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
bggRGjQaUbCoE
2024-12-28 14:00:26 +08:00
parent ec8c010c96
commit 820c7aa324

View File

@@ -350,74 +350,75 @@ class _VideoInfoState extends State<VideoInfo> with TickerProviderStateMixin {
), ),
) )
: SelfSizedHorizontalList( : SelfSizedHorizontalList(
gapSize: 10, gapSize: 25,
itemCount: videoItem['staff'].length, itemCount: videoItem['staff'].length,
childBuilder: (index) => Container( childBuilder: (index) => GestureDetector(
width: 80, onTap: () {
alignment: Alignment.center, int? ownerMid = !widget.loadingStatus
child: GestureDetector( ? widget.videoDetail?.owner?.mid
onTap: () { : videoItem['owner']?.mid;
int? ownerMid = !widget.loadingStatus if (videoItem['staff'][index].mid == ownerMid &&
? widget.videoDetail?.owner?.mid context.orientation ==
: videoItem['owner']?.mid; Orientation.landscape &&
if (videoItem['staff'][index].mid == _horizontalMemberPage) {
ownerMid && widget.onShowMemberPage(ownerMid);
context.orientation == } else {
Orientation.landscape && Get.toNamed(
_horizontalMemberPage) { '/member?mid=${videoItem['staff'][index].mid}',
widget.onShowMemberPage(ownerMid); // arguments: {
} else { // 'face':
Get.toNamed( // videoItem['staff'][index].face,
'/member?mid=${videoItem['staff'][index].mid}', // 'heroTag': Utils.makeHeroTag(
// arguments: { // videoItem['staff'][index].mid),
// 'face': // },
// videoItem['staff'][index].face, );
// 'heroTag': Utils.makeHeroTag( }
// videoItem['staff'][index].mid), },
// }, child: Row(
); children: [
} NetworkImgLayer(
}, type: 'avatar',
child: Column( src: videoItem['staff'][index].face,
mainAxisSize: MainAxisSize.min, width: 40,
children: [ height: 40,
NetworkImgLayer( fadeInDuration: Duration.zero,
type: 'avatar', fadeOutDuration: Duration.zero,
src: videoItem['staff'][index].face, ),
width: 40, const SizedBox(width: 5),
height: 40, Column(
fadeInDuration: Duration.zero, mainAxisSize: MainAxisSize.min,
fadeOutDuration: Duration.zero, crossAxisAlignment:
), CrossAxisAlignment.start,
const SizedBox(height: 2), children: [
Text( Text(
videoItem['staff'][index].name, videoItem['staff'][index].name,
maxLines: 1, maxLines: 1,
overflow: TextOverflow.ellipsis, overflow: TextOverflow.ellipsis,
style: TextStyle( style: TextStyle(
color: videoItem['staff'][index] color: videoItem['staff'][index]
.vip .vip
.status > .status >
0 && 0 &&
videoItem['staff'][index] videoItem['staff'][index]
.vip .vip
.type == .type ==
2 2
? context.vipColor ? context.vipColor
: null, : null,
),
), ),
), Text(
Text( videoItem['staff'][index].title,
videoItem['staff'][index].title, style: TextStyle(
style: TextStyle( fontSize: 12,
fontSize: 12, color: Theme.of(context)
color: Theme.of(context) .colorScheme
.colorScheme .outline,
.outline, ),
), ),
), ],
], ),
), ],
), ),
), ),
), ),