diff --git a/lib/pages/dynamics/widgets/author_panel.dart b/lib/pages/dynamics/widgets/author_panel.dart index aa778c13..dc5de00c 100644 --- a/lib/pages/dynamics/widgets/author_panel.dart +++ b/lib/pages/dynamics/widgets/author_panel.dart @@ -65,7 +65,8 @@ class AuthorPanel extends StatelessWidget { // semanticsLabel: "Up主:${item.modules.moduleAuthor.name}", style: TextStyle( color: item.modules.moduleAuthor!.vip != null && - item.modules.moduleAuthor!.vip['status'] > 0 + item.modules.moduleAuthor!.vip['status'] > 0 && + item.modules.moduleAuthor!.vip['type'] == 2 ? Utils.vipColor : Theme.of(context).colorScheme.onSurface, fontSize: Theme.of(context).textTheme.titleSmall!.fontSize, diff --git a/lib/pages/dynamics/widgets/author_panel_grpc.dart b/lib/pages/dynamics/widgets/author_panel_grpc.dart index 1cac623b..91fada4c 100644 --- a/lib/pages/dynamics/widgets/author_panel_grpc.dart +++ b/lib/pages/dynamics/widgets/author_panel_grpc.dart @@ -65,7 +65,9 @@ class AuthorPanelGrpc extends StatelessWidget { item.modules.first.moduleAuthor.author.name, // semanticsLabel: "Up主:${item.modules.moduleAuthor.name}", style: TextStyle( - color: item.modules.first.moduleAuthor.author.vip.status > 0 + color: item.modules.first.moduleAuthor.author.vip.status > + 0 && + item.modules.first.moduleAuthor.author.vip.type == 2 ? Utils.vipColor : Theme.of(context).colorScheme.onSurface, fontSize: Theme.of(context).textTheme.titleSmall!.fontSize, diff --git a/lib/pages/member/new/widget/user_info_card.dart b/lib/pages/member/new/widget/user_info_card.dart index dca1d33e..a2a2fd03 100644 --- a/lib/pages/member/new/widget/user_info_card.dart +++ b/lib/pages/member/new/widget/user_info_card.dart @@ -113,7 +113,8 @@ class UserInfoCard extends StatelessWidget { ), ), ), - if (card.officialVerify?.icon?.isNotEmpty == true) + if (card.officialVerify?.icon?.isNotEmpty == true || + (card.vip?.vipStatus ?? -1) > 0) Positioned( top: 170, left: 80, @@ -123,13 +124,19 @@ class UserInfoCard extends StatelessWidget { shape: BoxShape.circle, color: Theme.of(context).colorScheme.surface, ), - child: NetworkImgLayer( - src: card.officialVerify?.icon, - radius: null, - width: 24, - height: 24, - quality: 100, - ), + child: card.officialVerify?.icon?.isNotEmpty == true + ? NetworkImgLayer( + src: card.officialVerify?.icon, + radius: null, + width: 24, + height: 24, + quality: 100, + ) + : Image.asset( + 'assets/images/big-vip.png', + width: 24, + height: 24, + ), ), ), Positioned( @@ -276,7 +283,10 @@ class UserInfoCard extends StatelessWidget { height: 1, fontSize: 17, fontWeight: FontWeight.bold, - color: card.vip?.vipType == 2 ? Utils.vipColor : null, + color: (card.vip?.vipStatus ?? -1) > 0 && + card.vip?.vipType == 2 + ? Utils.vipColor + : null, ), ), ), diff --git a/lib/pages/member/view.dart b/lib/pages/member/view.dart index 454dac1b..19deba3a 100644 --- a/lib/pages/member/view.dart +++ b/lib/pages/member/view.dart @@ -401,7 +401,9 @@ class _MemberPageState extends State fontWeight: FontWeight.bold, color: _memberController.memberInfo.value.vip?.status != null && - _memberController.memberInfo.value.vip!.status! > 0 + _memberController.memberInfo.value.vip!.status! > + 0 && + _memberController.memberInfo.value.vip!.type == 2 ? Utils.vipColor : Theme.of(context).colorScheme.onSurface, ), diff --git a/lib/pages/video/detail/introduction/view.dart b/lib/pages/video/detail/introduction/view.dart index 2fd27c9e..78149384 100644 --- a/lib/pages/video/detail/introduction/view.dart +++ b/lib/pages/video/detail/introduction/view.dart @@ -348,7 +348,12 @@ class _VideoInfoState extends State with TickerProviderStateMixin { : videoItem['staff'][index].name, style: TextStyle( color: - videoItem['staff'][index].vip.type == 2 + videoItem['staff'][index].vip.status > + 0 && + videoItem['staff'][index] + .vip + .type == + 2 ? Utils.vipColor : null, ), diff --git a/lib/pages/video/detail/reply/widgets/reply_item_grpc.dart b/lib/pages/video/detail/reply/widgets/reply_item_grpc.dart index 376ff535..6d2cc702 100644 --- a/lib/pages/video/detail/reply/widgets/reply_item_grpc.dart +++ b/lib/pages/video/detail/reply/widgets/reply_item_grpc.dart @@ -204,7 +204,8 @@ class ReplyItemGrpc extends StatelessWidget { Text( replyItem.member.name, style: TextStyle( - color: (replyItem.member.vipType == 2) + color: (replyItem.member.vipStatus > 0 && + replyItem.member.vipType == 2) ? Utils.vipColor : Theme.of(context).colorScheme.outline, fontSize: 13,