@inherits LayoutComponentBase @using HyperCube.Models; @using Console = HyperCube.Utils.AdvConsole; @using Microsoft.AspNetCore.Identity; @inject AuthenticationStateProvider AuthenticationStateProvider @inject UserManager UserManager
@*@if (connected) { } else { } @foreach (var value in Networks) { } *@
@Body
@code { List Networks = new(); bool connected = false; protected override async Task OnInitializedAsync() { try { AccountModel.Current = await GetCurrentAcc(); //await Blockchain.GetInstance().Initialize(); Console.WriteLine("OnInitializedAsync RegisterNetworks"); await Blockchain.RegisterNetworks(); if (Blockchain.Connected != "" && Blockchain.Connected != "none") { connected = true; Networks.Add(Blockchain.Connected); } else { connected = false; Networks.Add("Blockchain not connected"); } } catch (Exception e) { Console.WriteLine(e.Message + ", stack trace:" + e.StackTrace); } } private async Task GetCurrentAcc() { AccountModel account = new(); var authState = await AuthenticationStateProvider.GetAuthenticationStateAsync(); var user = authState.User; if (user.Identity.IsAuthenticated) { var currentUser = await UserManager.GetUserAsync(user); account.UUID = currentUser.Id; //account.Name = currentUser.UserName; //account.Email = currentUser.Email; var acc = AccountModel.Find(account.UUID); if (acc != null) account = acc; ///tmp //account.AccRole = Role.User; return account; } return null; } }