* add jwt expiry * start of 0.9 api impl * some stuff idk * some more impl * some cleanup * remove grouppair, add configuration, rework some pair drawing stuff * do some stuff * rework some ui * I don't even know anymore * add cancellationtoken * token bla * ui fixes etc * probably individual adding/removing now working fully as expected * add working report popup * I guess it's more syncshell shit or so * popup shit idk * work out most of the syncshell bullshit I guess * delete some old crap * are we actually getting closer to the end * update pair info stuff * more fixes/adjustments, idk * refactor some things * some rework * some more cleanup * cleanup * make menu buttons w i d e * better icon text buttons * add all syncshell folder and ordering fixes --------- Co-authored-by: rootdarkarchon <root.darkarchon@outlook.com>
46 lines
1.6 KiB
C#
46 lines
1.6 KiB
C#
using Dalamud.Interface;
|
|
using ImGuiNET;
|
|
using MareSynchronos.API.Dto.Group;
|
|
using MareSynchronos.PlayerData.Pairs;
|
|
using MareSynchronos.Services.Mediator;
|
|
using MareSynchronos.WebAPI;
|
|
using System.Numerics;
|
|
|
|
namespace MareSynchronos.UI.Components.Popup;
|
|
|
|
public class BanUserPopupHandler : IPopupHandler
|
|
{
|
|
private readonly ApiController _apiController;
|
|
private string _banReason = string.Empty;
|
|
private GroupFullInfoDto _group = null!;
|
|
private Pair _reportedPair = null!;
|
|
|
|
public BanUserPopupHandler(ApiController apiController)
|
|
{
|
|
_apiController = apiController;
|
|
}
|
|
|
|
public Vector2 PopupSize => new(500, 250);
|
|
|
|
public void DrawContent()
|
|
{
|
|
UiSharedService.TextWrapped("User " + (_reportedPair.UserData.AliasOrUID) + " will be banned and removed from this Syncshell.");
|
|
ImGui.InputTextWithHint("##banreason", "Ban Reason", ref _banReason, 255);
|
|
|
|
if (UiSharedService.IconTextButton(FontAwesomeIcon.UserSlash, "Ban User"))
|
|
{
|
|
ImGui.CloseCurrentPopup();
|
|
var reason = _banReason;
|
|
_ = _apiController.GroupBanUser(new GroupPairDto(_group.Group, _reportedPair.UserData), reason);
|
|
_banReason = string.Empty;
|
|
}
|
|
UiSharedService.TextWrapped("The reason will be displayed in the banlist. The current server-side alias if present (Vanity ID) will automatically be attached to the reason.");
|
|
}
|
|
|
|
public void Open(OpenBanUserPopupMessage message)
|
|
{
|
|
_reportedPair = message.PairToBan;
|
|
_group = message.GroupFullInfoDto;
|
|
_banReason = string.Empty;
|
|
}
|
|
} |