@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 @Body @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")); } }