mirror of
https://github.com/status-im/nft-faucet.git
synced 2025-02-23 12:08:32 +00:00
Add provider filtering
This commit is contained in:
parent
6fe9d21276
commit
a0b00f8aff
@ -1,9 +1,15 @@
|
||||
using NftFaucetRadzen.Plugins.NetworkPlugins;
|
||||
using NftFaucetRadzen.Plugins.ProviderPlugins;
|
||||
|
||||
namespace NftFaucetRadzen.Models;
|
||||
|
||||
public class ScopedAppState
|
||||
{
|
||||
public StateStorage Storage { get; private set; } = new();
|
||||
|
||||
public INetwork SelectedNetwork => Storage.Networks.FirstOrDefault(x => x.Id == Storage?.SelectedNetworks?.FirstOrDefault());
|
||||
public IProvider SelectedProvider => Storage.Providers.FirstOrDefault(x => x.Id == Storage?.SelectedProviders?.FirstOrDefault());
|
||||
|
||||
public void Reset()
|
||||
{
|
||||
Storage = new StateStorage();
|
||||
|
@ -10,5 +10,4 @@ public class StateStorage
|
||||
|
||||
public Guid[] SelectedNetworks { get; set; }
|
||||
public Guid[] SelectedProviders { get; set; }
|
||||
public EthereumKey GeneratedKey { get; set; }
|
||||
}
|
||||
|
@ -26,7 +26,7 @@ public partial class ProviderPage : BasicComponent
|
||||
|
||||
protected override void OnInitialized()
|
||||
{
|
||||
Providers = AppState.Storage.Providers.ToArray();
|
||||
Providers = AppState.Storage.Providers.Where(x => x.IsNetworkSupported(AppState.SelectedNetwork)).ToArray();
|
||||
RefreshData();
|
||||
}
|
||||
|
||||
|
@ -13,5 +13,5 @@ public interface IProvider
|
||||
|
||||
public void Initialize();
|
||||
public List<(string Name, string Value)> GetProperties();
|
||||
// public bool IsNetworkSupported(INetwork network);
|
||||
public bool IsNetworkSupported(INetwork network);
|
||||
}
|
||||
|
@ -1,4 +1,5 @@
|
||||
using NftFaucetRadzen.Models;
|
||||
using NftFaucetRadzen.Plugins.NetworkPlugins;
|
||||
|
||||
namespace NftFaucetRadzen.Plugins.ProviderPlugins.Keygen.Providers;
|
||||
|
||||
@ -25,4 +26,7 @@ public class EthereumKeygenProvider : IProvider
|
||||
("Private key", Key?.PrivateKey ?? "<null>"),
|
||||
("Address", Key?.Address ?? "<null>"),
|
||||
};
|
||||
|
||||
public bool IsNetworkSupported(INetwork network)
|
||||
=> network.Type == NetworkType.Ethereum;
|
||||
}
|
||||
|
@ -1,3 +1,5 @@
|
||||
using NftFaucetRadzen.Plugins.NetworkPlugins;
|
||||
|
||||
namespace NftFaucetRadzen.Plugins.ProviderPlugins.Keygen.Providers;
|
||||
|
||||
public class SolanaKeygenProvider : IProvider
|
||||
@ -21,4 +23,7 @@ public class SolanaKeygenProvider : IProvider
|
||||
("Private key", "<null>"),
|
||||
("Address", "<null>"),
|
||||
};
|
||||
|
||||
public bool IsNetworkSupported(INetwork network)
|
||||
=> network.Type == NetworkType.Solana;
|
||||
}
|
||||
|
@ -1,3 +1,5 @@
|
||||
using NftFaucetRadzen.Plugins.NetworkPlugins;
|
||||
|
||||
namespace NftFaucetRadzen.Plugins.ProviderPlugins.Metamask.Providers;
|
||||
|
||||
public class MetamaskProvider : IProvider
|
||||
@ -21,4 +23,7 @@ public class MetamaskProvider : IProvider
|
||||
("Installed", "YES"),
|
||||
("Connected", IsInitialized ? "YES" : "NO"),
|
||||
};
|
||||
|
||||
public bool IsNetworkSupported(INetwork network)
|
||||
=> network.Type == NetworkType.Ethereum;
|
||||
}
|
||||
|
@ -1,3 +1,5 @@
|
||||
using NftFaucetRadzen.Plugins.NetworkPlugins;
|
||||
|
||||
namespace NftFaucetRadzen.Plugins.ProviderPlugins.Phantom.Providers;
|
||||
|
||||
public class PhantomProvider : IProvider
|
||||
@ -21,4 +23,7 @@ public class PhantomProvider : IProvider
|
||||
("Installed", "YES"),
|
||||
("Connected", IsInitialized ? "YES" : "NO"),
|
||||
};
|
||||
|
||||
public bool IsNetworkSupported(INetwork network)
|
||||
=> network.Type == NetworkType.Solana;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user