@using System.Security.Policy @using LANCommander.Launcher.Models @using LANCommander.SDK @using LANCommander.SDK.Models @using LANCommander.Launcher.UI.Authenticate.Components @inject ProfileService ProfileService @inject NavigationManager NavigationManager @inject SDK.Client Client @inject IMessageService MessageService @inject ILogger Logger
@if (State.Stage == AuthenticationStage.SelectServer) { } @if (State.Stage == AuthenticationStage.Login) { } @if (State.Stage == AuthenticationStage.Register) { }
@code { AuthenticationFormState State { get; set; } bool _connecting { get; set; } = false; protected override void OnInitialized() { State = new() { Stage = AuthenticationStage.SelectServer, ServerAddress = String.Empty, }; } async Task ServerSelected(string serverAddress) { try { _connecting = true; await Client.ChangeServerAddressAsync(serverAddress); State.ServerAddress = Client.GetServerAddress(); State.Stage = AuthenticationStage.Login; } catch (Exception ex) { MessageService.Error(ex.Message); } finally { _connecting = false; } } }