 14575a4a6b
			
		
	
	14575a4a6b
	
	
	
		
			
			* 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;
 | |
|     }
 | |
| } |