Allow moderators to use shell broadcasting, distinct shell finder to remove duplicate shells
This commit is contained in:
@@ -3,6 +3,7 @@ using Dalamud.Interface;
|
||||
using Dalamud.Interface.Colors;
|
||||
using Dalamud.Interface.Utility;
|
||||
using Dalamud.Utility;
|
||||
using LightlessSync.API.Data.Extensions;
|
||||
using LightlessSync.API.Dto.Group;
|
||||
using LightlessSync.LightlessConfiguration;
|
||||
using LightlessSync.Services;
|
||||
@@ -55,9 +56,9 @@ namespace LightlessSync.UI
|
||||
private void RebuildSyncshellDropdownOptions()
|
||||
{
|
||||
var selectedGid = _configService.Current.SelectedFinderSyncshell;
|
||||
var allSyncshells = _allSyncshells ?? Array.Empty<GroupFullInfoDto>();
|
||||
var ownedSyncshells = allSyncshells
|
||||
.Where(g => string.Equals(g.OwnerUID, _userUid, StringComparison.Ordinal))
|
||||
var allSyncshells = _allSyncshells ?? [];
|
||||
var filteredSyncshells = allSyncshells
|
||||
.Where(g => string.Equals(g.OwnerUID, _userUid, StringComparison.Ordinal) || g.GroupUserInfo.IsModerator())
|
||||
.ToList();
|
||||
|
||||
_syncshellOptions.Clear();
|
||||
@@ -65,7 +66,7 @@ namespace LightlessSync.UI
|
||||
|
||||
var addedGids = new HashSet<string>(StringComparer.Ordinal);
|
||||
|
||||
foreach (var shell in ownedSyncshells)
|
||||
foreach (var shell in filteredSyncshells)
|
||||
{
|
||||
var label = shell.GroupAliasOrGID ?? shell.GID;
|
||||
_syncshellOptions.Add((label, shell.GID, true));
|
||||
|
||||
Reference in New Issue
Block a user