@using Model
@namespace Shared.Components
@foreach (var group in Cards.GroupBy(x => x))
{
var cardName = group.Key;
var count = group.Count();
var card = LookupCard(cardName);
}
@code {
[Parameter][EditorRequired] public List Cards { get; set; } = [];
[Parameter] public EventCallback OnSelectCard { get; set; }
private async Task SelectCard(CardData? card)
{
await OnSelectCard.InvokeAsync(card);
}
private static readonly Dictionary CardLookup = CardDatabase.Cards
.Where(c => !string.IsNullOrWhiteSpace(c.Name))
.GroupBy(c => c.Name, StringComparer.OrdinalIgnoreCase)
.ToDictionary(g => g.Key, g => g.First(), StringComparer.OrdinalIgnoreCase);
private CardData? LookupCard(string cardName)
{
return CardLookup.GetValueOrDefault(cardName);
}
}