Allow moderators to use shell broadcasting, distinct shell finder to remove duplicate shells

This commit is contained in:
cake
2025-11-30 01:26:18 +01:00
parent 04cd09cbb9
commit cab13874d8
3 changed files with 8 additions and 5 deletions

View File

@@ -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));