@namespace Shared.Pages @page "/decks" @using Model Chrono CCG - Decks

Decks

@decks.Count deck@(decks.Count != 1 ? "s" : "")

@foreach (var deck in decks) {

@deck.Name

@if (deck.Factions.Count > 0) {
@foreach (var f in deck.Factions) { @f }
}
@deck.DeckType
@deck.Cards.Distinct().Count() unique, @deck.Cards.Count total @if (deck.Keycards.Count > 0) { @deck.Keycards.Count keycard@(deck.Keycards.Count != 1 ? "s" : "") } @if (deck.Divers.Count > 0) { @deck.Divers.Count diver@(deck.Divers.Count != 1 ? "s" : "") }
@if (deck.Description != null) {
@Truncate(deck.Description, 120)
}
}
@if (decks.Count == 0) {

No decks available yet.

}
@code { private List decks = []; private bool showPrecons; protected override void OnInitialized() { RefreshDecks(); } private void RefreshDecks() { decks = DeckDatabase.Decks .Where(d => d.IsVisible) .Where(d => showPrecons ? d.DeckType is "precon" or "store" : d.DeckType is "custom") .ToList(); } private static string Truncate(string text, int maxLength) { if (text.Length <= maxLength) return text; var lastSpace = text.LastIndexOf(' ', maxLength); return text[..(lastSpace > 0 ? lastSpace : maxLength)] + "..."; } }