mirror of
https://github.com/status-im/nft-faucet.git
synced 2025-02-23 03:58:23 +00:00
Add ProviderModel
This commit is contained in:
parent
2962ca6446
commit
f59ec571df
10
NftFaucetRadzen/Models/ProviderModel.cs
Normal file
10
NftFaucetRadzen/Models/ProviderModel.cs
Normal file
@ -0,0 +1,10 @@
|
||||
namespace NftFaucetRadzen.Models;
|
||||
|
||||
public class ProviderModel
|
||||
{
|
||||
public Guid Id { get; set; }
|
||||
public string Name { get; set; }
|
||||
public string ShortName { get; set; }
|
||||
public string ImageName { get; set; }
|
||||
public bool IsSupported { get; set; }
|
||||
}
|
@ -5,4 +5,5 @@ namespace NftFaucetRadzen.Options;
|
||||
public class Settings
|
||||
{
|
||||
public NetworkModel[] Networks { get; set; }
|
||||
public ProviderModel[] Providers { get; set; }
|
||||
}
|
||||
|
@ -31,37 +31,48 @@ public partial class ProviderPage : BasicComponent
|
||||
protected override void OnInitialized()
|
||||
{
|
||||
// AppState.Storage.GeneratedKey = EthereumKey.GenerateNew();
|
||||
Providers = new[]
|
||||
{
|
||||
new CardListItem
|
||||
{
|
||||
Id = Guid.Parse("ded55b2b-8139-4251-a0fc-ba620f9727c9"),
|
||||
ImageName = "ecdsa.svg",
|
||||
Header = "Generated keys",
|
||||
IsDisabled = false,
|
||||
Properties = new[]
|
||||
{
|
||||
new CardListItemProperty { Name = "Private key", Value = AppState.Storage.GeneratedKey?.PrivateKey ?? "<null>" },
|
||||
new CardListItemProperty { Name = "Address", Value = AppState.Storage.GeneratedKey?.Address ?? "<null>" },
|
||||
},
|
||||
Badges = Array.Empty<CardListItemBadge>(),
|
||||
},
|
||||
new CardListItem
|
||||
{
|
||||
Id = Guid.Parse("3367b9bb-f50c-4768-aeb3-9ac14d4c3987"),
|
||||
ImageName = "metamask_fox.svg",
|
||||
Header = "Metamask",
|
||||
IsDisabled = false,
|
||||
Properties = new[]
|
||||
{
|
||||
new CardListItemProperty { Name = "Installed", Value = "yes" },
|
||||
new CardListItemProperty { Name = "Connected", Value = "no" },
|
||||
},
|
||||
Badges = new[]
|
||||
{
|
||||
new CardListItemBadge { Style = BadgeStyle.Success, Text = "Recommended" },
|
||||
},
|
||||
}
|
||||
};
|
||||
Providers = Settings.Providers.Select(MapCardListItem).ToArray();
|
||||
EnhanceProviderModels(Providers);
|
||||
}
|
||||
|
||||
private void EnhanceProviderModels(CardListItem[] models)
|
||||
{
|
||||
var genKeyModel = models.FirstOrDefault(x => x.Id == Guid.Parse("ded55b2b-8139-4251-a0fc-ba620f9727c9"));
|
||||
if (genKeyModel != null)
|
||||
{
|
||||
genKeyModel.Properties = new[]
|
||||
{
|
||||
new CardListItemProperty { Name = "Private key", Value = AppState.Storage.GeneratedKey?.PrivateKey ?? "<null>" },
|
||||
new CardListItemProperty { Name = "Address", Value = AppState.Storage.GeneratedKey?.Address ?? "<null>" },
|
||||
};
|
||||
}
|
||||
|
||||
var metamaskModel = models.FirstOrDefault(x => x.Id == Guid.Parse("3367b9bb-f50c-4768-aeb3-9ac14d4c3987"));
|
||||
if (metamaskModel != null)
|
||||
{
|
||||
metamaskModel.Properties = new[]
|
||||
{
|
||||
new CardListItemProperty { Name = "Installed", Value = "yes" },
|
||||
new CardListItemProperty { Name = "Connected", Value = "no" },
|
||||
};
|
||||
metamaskModel.Badges = new[]
|
||||
{
|
||||
new CardListItemBadge { Style = BadgeStyle.Success, Text = "Recommended" },
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
private static CardListItem MapCardListItem(ProviderModel model)
|
||||
=> new CardListItem
|
||||
{
|
||||
Id = model.Id,
|
||||
ImageName = model.ImageName,
|
||||
Header = model.Name,
|
||||
IsDisabled = !model.IsSupported,
|
||||
Properties = Array.Empty<CardListItemProperty>(),
|
||||
Badges = new[]
|
||||
{
|
||||
!model.IsSupported ? new CardListItemBadge { Style = BadgeStyle.Light, Text = "Not Supported" } : null,
|
||||
}.Where(x => x != null).ToArray(),
|
||||
};
|
||||
}
|
||||
|
@ -18,7 +18,7 @@
|
||||
</div>
|
||||
<div class="nav-item px-3">
|
||||
<NavLink class="nav-link" href="provider" >
|
||||
<span class="oi oi-key" aria-hidden="true"></span> Provider
|
||||
<span class="oi oi-key" aria-hidden="true"></span> @("Provider" + (SelectedProviderName != null ? $" ({SelectedProviderName})" : string.Empty))
|
||||
</NavLink>
|
||||
</div>
|
||||
</nav>
|
||||
|
@ -8,6 +8,8 @@ public partial class NavMenu : BasicComponent
|
||||
{
|
||||
protected Guid? SelectedNetworkId => AppState.Storage.SelectedNetworks?.FirstOrDefault();
|
||||
protected string SelectedNetworkName => Settings.Networks.FirstOrDefault(x => x.Id == SelectedNetworkId)?.ShortName;
|
||||
protected Guid? SelectedProviderId => AppState.Storage.SelectedProviders?.FirstOrDefault();
|
||||
protected string SelectedProviderName => Settings.Providers.FirstOrDefault(x => x.Id == SelectedProviderId)?.ShortName;
|
||||
|
||||
private bool CollapseNavMenu { get; set; } = true;
|
||||
|
||||
|
@ -378,5 +378,21 @@
|
||||
"Erc721ContractAddress": null,
|
||||
"Erc1155ContractAddress": null
|
||||
}
|
||||
],
|
||||
"Providers": [
|
||||
{
|
||||
"Id": "ded55b2b-8139-4251-a0fc-ba620f9727c9",
|
||||
"Name": "Generated keys",
|
||||
"ShortName": "new keys",
|
||||
"ImageName": "ecdsa.svg",
|
||||
"IsSupported": true
|
||||
},
|
||||
{
|
||||
"Id": "3367b9bb-f50c-4768-aeb3-9ac14d4c3987",
|
||||
"Name": "Metamask",
|
||||
"ShortName": "Metamask",
|
||||
"ImageName": "metamask_fox.svg",
|
||||
"IsSupported": true
|
||||
}
|
||||
]
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user