add owner/moderator/pinned user icons
This commit is contained in:
		| @@ -21,6 +21,7 @@ public class DrawUserPair | |||||||
|     protected readonly IdDisplayHandler _displayHandler; |     protected readonly IdDisplayHandler _displayHandler; | ||||||
|     protected readonly MareMediator _mediator; |     protected readonly MareMediator _mediator; | ||||||
|     protected readonly List<GroupFullInfoDto> _syncedGroups; |     protected readonly List<GroupFullInfoDto> _syncedGroups; | ||||||
|  |     private readonly GroupFullInfoDto? _currentGroup; | ||||||
|     protected Pair _pair; |     protected Pair _pair; | ||||||
|     private readonly string _id; |     private readonly string _id; | ||||||
|     private readonly SelectTagForPairUi _selectTagForPairUi; |     private readonly SelectTagForPairUi _selectTagForPairUi; | ||||||
| @@ -28,6 +29,7 @@ public class DrawUserPair | |||||||
|     private float _menuRenderWidth = -1; |     private float _menuRenderWidth = -1; | ||||||
|  |  | ||||||
|     public DrawUserPair(string id, Pair entry, List<GroupFullInfoDto> syncedGroups, |     public DrawUserPair(string id, Pair entry, List<GroupFullInfoDto> syncedGroups, | ||||||
|  |         GroupFullInfoDto? currentGroup, | ||||||
|         ApiController apiController, IdDisplayHandler uIDDisplayHandler, |         ApiController apiController, IdDisplayHandler uIDDisplayHandler, | ||||||
|         MareMediator mareMediator, SelectTagForPairUi selectTagForPairUi, |         MareMediator mareMediator, SelectTagForPairUi selectTagForPairUi, | ||||||
|         ServerConfigurationManager serverConfigurationManager) |         ServerConfigurationManager serverConfigurationManager) | ||||||
| @@ -35,6 +37,7 @@ public class DrawUserPair | |||||||
|         _id = id; |         _id = id; | ||||||
|         _pair = entry; |         _pair = entry; | ||||||
|         _syncedGroups = syncedGroups; |         _syncedGroups = syncedGroups; | ||||||
|  |         _currentGroup = currentGroup; | ||||||
|         _apiController = apiController; |         _apiController = apiController; | ||||||
|         _displayHandler = uIDDisplayHandler; |         _displayHandler = uIDDisplayHandler; | ||||||
|         _mediator = mareMediator; |         _mediator = mareMediator; | ||||||
| @@ -233,6 +236,41 @@ public class DrawUserPair | |||||||
|         } |         } | ||||||
|         UiSharedService.AttachToolTip(userPairText); |         UiSharedService.AttachToolTip(userPairText); | ||||||
|  |  | ||||||
|  |         if (_currentGroup != null) | ||||||
|  |         { | ||||||
|  |             ImGui.AlignTextToFramePadding(); | ||||||
|  |             if (string.Equals(_currentGroup.OwnerUID, _pair.UserData.UID, StringComparison.Ordinal)) | ||||||
|  |             { | ||||||
|  |                 using (ImRaii.PushFont(UiBuilder.IconFont)) | ||||||
|  |                 { | ||||||
|  |                     ImGui.SameLine(); | ||||||
|  |                     ImGui.TextUnformatted(FontAwesomeIcon.Crown.ToIconString()); | ||||||
|  |                 } | ||||||
|  |                 UiSharedService.AttachToolTip("User is owner of this syncshell"); | ||||||
|  |             } | ||||||
|  |             else if (_currentGroup.GroupPairUserInfos.TryGetValue(_pair.UserData.UID, out var userinfo)) | ||||||
|  |             { | ||||||
|  |                 if (userinfo.IsModerator()) | ||||||
|  |                 { | ||||||
|  |                     using (ImRaii.PushFont(UiBuilder.IconFont)) | ||||||
|  |                     { | ||||||
|  |                         ImGui.SameLine(); | ||||||
|  |                         ImGui.TextUnformatted(FontAwesomeIcon.UserShield.ToIconString()); | ||||||
|  |                     } | ||||||
|  |                     UiSharedService.AttachToolTip("User is moderator in this syncshell"); | ||||||
|  |                 } | ||||||
|  |                 else if (userinfo.IsPinned()) | ||||||
|  |                 { | ||||||
|  |                     using (ImRaii.PushFont(UiBuilder.IconFont)) | ||||||
|  |                     { | ||||||
|  |                         ImGui.SameLine(); | ||||||
|  |                         ImGui.TextUnformatted(FontAwesomeIcon.Thumbtack.ToIconString()); | ||||||
|  |                     } | ||||||
|  |                     UiSharedService.AttachToolTip("User is pinned in this syncshell"); | ||||||
|  |                 } | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  |  | ||||||
|         if (_pair.UserPair.OwnPermissions.IsSticky()) |         if (_pair.UserPair.OwnPermissions.IsSticky()) | ||||||
|         { |         { | ||||||
|             ImGui.AlignTextToFramePadding(); |             ImGui.AlignTextToFramePadding(); | ||||||
|   | |||||||
| @@ -41,7 +41,7 @@ public class DrawEntityFactory | |||||||
|         IImmutableList<Pair> allPairs) |         IImmutableList<Pair> allPairs) | ||||||
|     { |     { | ||||||
|         return new DrawFolderGroup(groupFullInfoDto.Group.GID, groupFullInfoDto, _apiController, |         return new DrawFolderGroup(groupFullInfoDto.Group.GID, groupFullInfoDto, _apiController, | ||||||
|             filteredPairs.Select(p => CreateDrawPair(groupFullInfoDto.Group.GID + p.Key.UserData.UID, p.Key, p.Value)).ToImmutableList(), |             filteredPairs.Select(p => CreateDrawPair(groupFullInfoDto.Group.GID + p.Key.UserData.UID, p.Key, p.Value, groupFullInfoDto)).ToImmutableList(), | ||||||
|             allPairs, _tagHandler, _uidDisplayHandler, _mediator); |             allPairs, _tagHandler, _uidDisplayHandler, _mediator); | ||||||
|     } |     } | ||||||
|  |  | ||||||
| @@ -49,13 +49,13 @@ public class DrawEntityFactory | |||||||
|         Dictionary<Pair, List<GroupFullInfoDto>> filteredPairs, |         Dictionary<Pair, List<GroupFullInfoDto>> filteredPairs, | ||||||
|         IImmutableList<Pair> allPairs) |         IImmutableList<Pair> allPairs) | ||||||
|     { |     { | ||||||
|         return new(tag, filteredPairs.Select(u => CreateDrawPair(tag, u.Key, u.Value)).ToImmutableList(), |         return new(tag, filteredPairs.Select(u => CreateDrawPair(tag, u.Key, u.Value, null)).ToImmutableList(), | ||||||
|             allPairs, _tagHandler, _apiController, _selectPairForTagUi); |             allPairs, _tagHandler, _apiController, _selectPairForTagUi); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     public DrawUserPair CreateDrawPair(string id, Pair user, List<GroupFullInfoDto> groups) |     public DrawUserPair CreateDrawPair(string id, Pair user, List<GroupFullInfoDto> groups, GroupFullInfoDto? currentGroup) | ||||||
|     { |     { | ||||||
|         return new DrawUserPair(id + user.UserData.UID, user, groups, _apiController, _uidDisplayHandler, |         return new DrawUserPair(id + user.UserData.UID, user, groups, currentGroup, _apiController, _uidDisplayHandler, | ||||||
|             _mediator, _selectTagForPairUi, _serverConfigurationManager); |             _mediator, _selectTagForPairUi, _serverConfigurationManager); | ||||||
|     } |     } | ||||||
| } | } | ||||||
		Reference in New Issue
	
	Block a user
	 rootdarkarchon
					rootdarkarchon