diff --git a/lib/ui_kit/widgets/room/room_user_info_card.dart b/lib/ui_kit/widgets/room/room_user_info_card.dart index b5b68ed..b245a78 100644 --- a/lib/ui_kit/widgets/room/room_user_info_card.dart +++ b/lib/ui_kit/widgets/room/room_user_info_card.dart @@ -332,15 +332,17 @@ class _RoomUserInfoCardState extends State { ), ), SizedBox(height: 5.w), - Row( - mainAxisAlignment: MainAxisAlignment.center, + Wrap( + alignment: WrapAlignment.center, + crossAxisAlignment: WrapCrossAlignment.center, + spacing: 4.w, + runSpacing: 5.w, children: [ msgRoleTag( ref.userCardInfo?.roomRole ?? "", width: 16.w, height: 16.w, ), - SizedBox(width: 4.w), socialchatNickNameText( maxWidth: 116.w, profile?.userNickname ?? "", @@ -350,13 +352,11 @@ class _RoomUserInfoCardState extends State { type: "", needScroll: (profile?.userNickname?.characters.length ?? 0) > 12, ), - SizedBox(width: 3.w), getVIPBadge( profile?.vipLevel ?? profile?.getVIP()?.name, width: 45.w, height: 25.w, ), - SizedBox(width: 3.w), getWealthLevel( profile?.wealthLevel ?? ref.userCardInfo?.userLevel?.wealthLevel ?? @@ -365,7 +365,6 @@ class _RoomUserInfoCardState extends State { height: 20.w, fontSize: 9.sp, ), - SizedBox(width: 2.w), getUserLevel( profile?.charmLevel ?? ref.userCardInfo?.userLevel?.charmLevel ?? @@ -374,6 +373,11 @@ class _RoomUserInfoCardState extends State { height: 20.w, fontSize: 9.sp, ), + _buildHeaderLongBadgeStrip( + profile?.id ?? widget.userId, + ref, + profile, + ), ], ), SizedBox(height: 2.w), @@ -490,6 +494,27 @@ class _RoomUserInfoCardState extends State { ); } + Widget _buildHeaderLongBadgeStrip( + String? userId, + SocialChatUserProfileManager ref, + SocialChatUserProfile? profile, + ) { + return ConstrainedBox( + constraints: BoxConstraints(maxWidth: 64.w), + child: SCUserBadgeStrip( + userId: userId, + fallbackBadges: _roomCardFallbackBadges(ref, profile), + displayScope: SCUserBadgeDisplayScope.long, + height: 22.w, + badgeHeight: 20.w, + longBadgeWidth: 62.w, + spacing: 0, + maxBadges: 1, + reserveSpace: false, + ), + ); + } + Widget _buildBadgeStrip( String? userId, SocialChatUserProfileManager ref, @@ -498,14 +523,14 @@ class _RoomUserInfoCardState extends State { return SCUserBadgeStrip( userId: userId, fallbackBadges: _roomCardFallbackBadges(ref, profile), - displayScope: SCUserBadgeDisplayScope.long, + displayScope: SCUserBadgeDisplayScope.short, height: 82.w, badgeHeight: 34.5.w, longBadgeWidth: 87.w, spacing: 10.w, maxBadges: 12, wrap: true, - reserveSpace: true, + reserveSpace: false, ); }