LANCommander/LANCommander.Launcher/UI/Windows/ChatWindow.razor
2025-11-23 20:53:45 -06:00

91 lines
No EOL
3.9 KiB
Text

@using LANCommander.Launcher.Settings
@using Photino.Blazor.CustomWindow.Components
@inherits LayoutComponentBase
@inject ProfileService ProfileService
@inject AuthenticationService AuthenticationService
@inject IMessageService MessageService
@inject NavigationManager NavigationManager
@inject LANCommander.SDK.Client Client
@inject IJSRuntime JS
@inject LocalizationService LocalizationService
<CustomWindow HeaderHeight="37">
<WindowContent>
<ErrorHandler Title="@LocalizationService.GetString("LauncherCrashed")">
<Body>
<AuthenticatedView NoAutoValidate="false">
<Authenticated>
@Body
</Authenticated>
<NotAuthenticated>
<AuthenticationForm/>
</NotAuthenticated>
</AuthenticatedView>
<AntContainer/>
</Body>
<Extra>
<Button Type="ButtonType.Primary" OnClick="@(() => NavigationManager.NavigateTo("/", true))">@LocalizationService.GetString("Reload")</Button>
</Extra>
</ErrorHandler>
</WindowContent>
</CustomWindow>
@code {
Settings Settings = null;
string RandomQuip = "";
string[] _crashQuips;
protected override async Task OnInitializedAsync()
{
if (!await Client.Authentication.ValidateTokenAsync())
{
await AuthenticationService.Login();
await InvokeAsync(StateHasChanged);
}
_crashQuips = new[]
{
LocalizationService.GetString("CrashQuip_YouDied"),
LocalizationService.GetString("CrashQuip_Snake"),
LocalizationService.GetString("CrashQuip_Wasted"),
LocalizationService.GetString("CrashQuip_MajorFracture"),
LocalizationService.GetString("CrashQuip_PastIsGapingHole"),
LocalizationService.GetString("CrashQuip_TownCenterDestroyed"),
LocalizationService.GetString("CrashQuip_ForcesUnderAttack"),
LocalizationService.GetString("CrashQuip_LostLead"),
LocalizationService.GetString("CrashQuip_TerroristsWin"),
LocalizationService.GetString("CrashQuip_WarNeverChanges"),
LocalizationService.GetString("CrashQuip_DiedOfDysentery"),
LocalizationService.GetString("CrashQuip_FailedToRestoreBooks"),
LocalizationService.GetString("CrashQuip_PlayerSplattered"),
LocalizationService.GetString("CrashQuip_BlameISP"),
LocalizationService.GetString("CrashQuip_BabaNoMore"),
LocalizationService.GetString("CrashQuip_GuestsLost"),
LocalizationService.GetString("CrashQuip_DarknessOvercome"),
LocalizationService.GetString("CrashQuip_GordonFreemanTerminated"),
LocalizationService.GetString("CrashQuip_MissionFailedSpotted"),
LocalizationService.GetString("CrashQuip_CriticalDamageEject"),
LocalizationService.GetString("CrashQuip_MinionsUnhappy"),
LocalizationService.GetString("CrashQuip_EmpireTriumphed"),
LocalizationService.GetString("CrashQuip_QuestEndedFailure"),
LocalizationService.GetString("CrashQuip_EatenByGrue"),
LocalizationService.GetString("CrashQuip_NoMessWithLoWang"),
LocalizationService.GetString("CrashQuip_SamKilled"),
LocalizationService.GetString("CrashQuip_AlienBastardsPay")
};
var randIndex = new Random().Next(0, _crashQuips.Length - 1);
RandomQuip = _crashQuips[randIndex];
}
async Task CopyError(Exception ex)
{
await JS.InvokeVoidAsync("navigator.clipboard.writeText", ex.Message + "\n" + ex.StackTrace);
MessageService.Info(LocalizationService.GetString("ErrorCopiedToClipboard"));
}
}