Fix some NRE for viewer app

This commit is contained in:
Ivan Yaremenchuk 2022-08-27 16:18:49 -05:00
parent 33074796df
commit d92043f896
3 changed files with 17 additions and 12 deletions

View File

@ -6,13 +6,16 @@
<RadzenHeading Size="H1" Text="Select network" />
<RadzenTabs RenderMode="TabRenderMode.Client">
<Tabs>
@foreach (var grouping in NetworksLookup)
@if (NetworksLookup != null)
{
var networkType = grouping.Key;
var networks = grouping.ToArray();
<RadzenTabsItem Text="@networkType.ToString()">
<CardList Data="@networks" @bind-SelectedItems="@AppState.Storage.SelectedNetworks"/>
</RadzenTabsItem>
foreach (var grouping in NetworksLookup)
{
var networkType = grouping.Key;
var networks = grouping.ToArray();
<RadzenTabsItem Text="@networkType.ToString()">
<CardList Data="@networks" @bind-SelectedItems="@AppState.Storage.SelectedNetworks"/>
</RadzenTabsItem>
}
}
</Tabs>
</RadzenTabs>

View File

@ -26,8 +26,10 @@ public partial class NetworkPage : BasicComponent
protected override void OnInitialized()
{
PluginLoader.EnsurePluginsLoaded();
NetworksLookup = PluginLoader.NetworkPlugins.SelectMany(x => x.GetNetworks()).OrderBy(x => x.ChainId ?? ulong.MaxValue).ToLookup(x => x.Type, MapCardListItem);
PluginLoader?.EnsurePluginsLoaded();
var networkPlugins = PluginLoader?.NetworkPlugins;
var networks = networkPlugins?.SelectMany(x => x?.GetNetworks()).Where(x => x != null).OrderBy(x => x.ChainId ?? ulong.MaxValue).ToArray() ?? Array.Empty<INetwork>();
NetworksLookup = networks.ToLookup(x => x.Type, MapCardListItem);
}
private ILookup<NetworkType, CardListItem> NetworksLookup { get; set; }

View File

@ -6,10 +6,10 @@ namespace NftFaucetRadzen.Shared;
public partial class NavMenu : BasicComponent
{
protected Guid? SelectedNetworkId => AppState.Storage.SelectedNetworks?.FirstOrDefault();
protected string SelectedNetworkName => PluginLoader.NetworkPlugins.SelectMany(x => x.GetNetworks()).FirstOrDefault(x => x.Id == SelectedNetworkId)?.ShortName;
protected Guid? SelectedProviderId => AppState.Storage.SelectedProviders?.FirstOrDefault();
protected string SelectedProviderName => PluginLoader.ProviderPlugins.SelectMany(x => x.GetProviders()).FirstOrDefault(x => x.Id == SelectedProviderId)?.ShortName;
protected Guid? SelectedNetworkId => AppState?.Storage?.SelectedNetworks?.FirstOrDefault();
protected string SelectedNetworkName => PluginLoader?.NetworkPlugins?.SelectMany(x => x.GetNetworks()).FirstOrDefault(x => x.Id == SelectedNetworkId)?.ShortName;
protected Guid? SelectedProviderId => AppState?.Storage?.SelectedProviders?.FirstOrDefault();
protected string SelectedProviderName => PluginLoader?.ProviderPlugins?.SelectMany(x => x.GetProviders()).FirstOrDefault(x => x.Id == SelectedProviderId)?.ShortName;
private bool CollapseNavMenu { get; set; } = true;