@namespace LANCommander.Launcher.UI @inject IMessageService MessageService @inject IConnectionClient ConnectionClient
@if (_stage == AuthenticationStage.SelectServer) { } else if (_stage == AuthenticationStage.Login) { } else if (_stage == AuthenticationStage.Register) { }
@code { bool _connecting { get; set; } = false; AuthenticationStage _stage = AuthenticationStage.None; protected override async Task OnInitializedAsync() { await base.OnInitializedAsync(); if (ConnectionClient.HasServerAddress()) _stage = AuthenticationStage.Login; else _stage = AuthenticationStage.SelectServer; } async Task ServerSelected(Uri serverAddress) { try { _connecting = true; await ConnectionClient.UpdateServerAddressAsync(serverAddress); _stage = AuthenticationStage.Login; } catch (Exception ex) { MessageService.Error(ex.Message); } finally { _connecting = false; } } }