rich text, updated lightfinder description and bug fixes

This commit is contained in:
2025-10-01 08:59:08 +09:00
parent 76520878bf
commit dea4ef4832
5 changed files with 205 additions and 48 deletions

View File

@@ -1,10 +1,12 @@
using Dalamud.Bindings.ImGui;
using Dalamud.Bindings.ImGui;
using Dalamud.Interface.Colors;
using Dalamud.Interface.Utility;
using Dalamud.Utility;
using LightlessSync.API.Dto.Group;
using LightlessSync.LightlessConfiguration;
using LightlessSync.Services;
using LightlessSync.Services.Mediator;
using LightlessSync.Utils;
using LightlessSync.WebAPI;
using Microsoft.Extensions.Logging;
using System.Numerics;
@@ -44,8 +46,8 @@ namespace LightlessSync.UI
IsOpen = false;
this.SizeConstraints = new()
{
MinimumSize = new(600, 340),
MaximumSize = new(750, 400)
MinimumSize = new(600, 450),
MaximumSize = new(750, 510)
};
mediator.Subscribe<RefreshUiMessage>(this, async _ => await RefreshSyncshells().ConfigureAwait(false));
@@ -137,19 +139,59 @@ namespace LightlessSync.UI
{
_uiSharedService.MediumText("Lightfinder", UIColors.Get("PairBlue"));
ImGui.PushTextWrapPos();
ImGui.Text("This lets other Lightless users know you use Lightless.");
ImGui.Text("By enabling this, the server will allow other people to see that you are using Lightless.");
ImGui.Text("When disabled, pairing is still possible but both parties need to mutually send each other requests, receiving party will not be notified about the request unless the pairing is complete.");
ImGui.Text("At no point ever, even when Lightfinder is active that any Lightless data is getting sent to other people (including ID's), the server keeps this to itself.");
ImGui.Text("You can request to pair by right-clicking any (not yourself) character and using 'Send Pair Request'.");
ImGui.PopTextWrapPos();
ImGui.PushStyleVar(ImGuiStyleVar.ItemSpacing, new Vector2(1, -2));
_uiSharedService.DrawNoteLine("# ", UIColors.Get("LightlessPurple"), "This lets other Lightless users know you use Lightless.");
_uiSharedService.DrawNoteLine("# ", UIColors.Get("LightlessPurple"), "While enabled, you and other people using Lightfinder can see each other identified as Lightless users.");
ImGui.Indent(5f);
ImGui.PushStyleColor(ImGuiCol.Text, ImGuiColors.DalamudGrey);
ImGui.Text("- This is done using a 'Lightless' label above player nameplates.");
ImGui.PopStyleColor();
ImGui.Unindent(5f);
ImGuiHelpers.ScaledDummy(3f);
_uiSharedService.MediumText("Pairing", UIColors.Get("PairBlue"));
_uiSharedService.DrawNoteLine("# ", UIColors.Get("LightlessPurple"), "Pairing may be initiated via the right-click context menu on another player." +
" The process requires mutual confirmation: the sender initiates the request, and the recipient completes it by responding with a request in return.");
_uiSharedService.DrawNoteLine(
"! ",
UIColors.Get("LightlessYellow"),
new SeStringUtils.RichTextEntry("If Lightfinder is "),
new SeStringUtils.RichTextEntry("ENABLED", UIColors.Get("LightlessGreen"), true),
new SeStringUtils.RichTextEntry(" when a pair request is made, the receiving user will get notified about it."));
_uiSharedService.DrawNoteLine(
"! ",
UIColors.Get("LightlessYellow"),
new SeStringUtils.RichTextEntry("If Lightfinder is "),
new SeStringUtils.RichTextEntry("DISABLED", UIColors.Get("DimRed"), true),
new SeStringUtils.RichTextEntry(" when a pair request is made, the receiving user will "),
new SeStringUtils.RichTextEntry("NOT", UIColors.Get("DimRed"), true),
new SeStringUtils.RichTextEntry(" get a notification, and the request will not be visible to them in any way."));
ImGuiHelpers.ScaledDummy(3f);
_uiSharedService.MediumText("Privacy", UIColors.Get("PairBlue"));
_uiSharedService.DrawNoteLine(
"! ",
UIColors.Get("DimRed"),
new SeStringUtils.RichTextEntry("Lightfinder is entirely "),
new SeStringUtils.RichTextEntry("opt-in", UIColors.Get("LightlessYellow"), true),
new SeStringUtils.RichTextEntry(" and does not share any data with other users. All identifying information remains private to the server."));
_uiSharedService.DrawNoteLine("! ", UIColors.Get("DimRed"), "Pairing is intended as a mutual agreement between both parties. A pair request will not be visible to the recipient unless Lightfinder is enabled.");
ImGuiHelpers.ScaledDummy(3f);
ImGui.PushStyleColor(ImGuiCol.Text, UIColors.Get("DimRed"));
ImGui.Text("Use it only when you want to be visible.");
ImGui.Text("Use Lightfinder only when you want to be visible.");
ImGui.PopStyleColor();
ImGuiHelpers.ScaledDummy(0.2f);
ImGui.PopStyleVar();
ImGuiHelpers.ScaledDummy(2.2f);
_uiSharedService.ColoredSeparator(UIColors.Get("LightlessPurple"), 2f);
if (_configService.Current.BroadcastEnabled)
@@ -168,7 +210,7 @@ namespace LightlessSync.UI
else
{
ImGui.PushStyleColor(ImGuiCol.Text, UIColors.Get("DimRed"));
ImGui.Text("The Lightfinders light wanes, but not in vain."); // cringe..
ImGui.Text("The Lightfinder<EFBFBD>s light wanes, but not in vain."); // cringe..
ImGui.PopStyleColor();
}
}