diff --git a/NftFaucetRadzen/Pages/NetworkPage.razor b/NftFaucetRadzen/Pages/NetworkPage.razor index caa0db8..31d19f5 100644 --- a/NftFaucetRadzen/Pages/NetworkPage.razor +++ b/NftFaucetRadzen/Pages/NetworkPage.razor @@ -6,13 +6,16 @@ - @foreach (var grouping in NetworksLookup) + @if (NetworksLookup != null) { - var networkType = grouping.Key; - var networks = grouping.ToArray(); - - - + foreach (var grouping in NetworksLookup) + { + var networkType = grouping.Key; + var networks = grouping.ToArray(); + + + + } } diff --git a/NftFaucetRadzen/Pages/NetworkPage.razor.cs b/NftFaucetRadzen/Pages/NetworkPage.razor.cs index 18a5806..1cdaf52 100644 --- a/NftFaucetRadzen/Pages/NetworkPage.razor.cs +++ b/NftFaucetRadzen/Pages/NetworkPage.razor.cs @@ -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(); + NetworksLookup = networks.ToLookup(x => x.Type, MapCardListItem); } private ILookup NetworksLookup { get; set; } diff --git a/NftFaucetRadzen/Shared/NavMenu.razor.cs b/NftFaucetRadzen/Shared/NavMenu.razor.cs index eecccd6..7d42e62 100644 --- a/NftFaucetRadzen/Shared/NavMenu.razor.cs +++ b/NftFaucetRadzen/Shared/NavMenu.razor.cs @@ -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;