protected async Task SelectDeck()
        {
            SelectedDeck = UserDecks.Find(x => x.Name == deckName);
            await DeckState.UpdateSelectedDeckAsync(SelectedDeck);

            isAddCard = true;
            DeckCards = DeckState.SelectedDeck?.Cards;

            isSelectDeck = true;
            StateHasChanged();
        }
        protected async Task AddDeck()
        {
            UserDecks ??= new List <Deck>();
            UserDecks.Add(newDeck);
            SelectedDeck = newDeck;
            deckName     = newDeck.Name;
            await DeckState.UpdateSelectedDeckAsync(SelectedDeck, true);

            isAddCard    = true;
            isSelectDeck = true;
        }
        protected async Task DeleteDeck(Deck deck)
        {
            if (deck.IsDeleteConfirm)
            {
                var cards = await DeckState.GetDeckCards(deck);

                await DeckState.RemoveDeck(deck, cards);

                UserDecks.Remove(deck);
                deck.ConfirmDelete   = "";
                deck.CssConfirmClass = "";
            }
            else
            {
                deck.ConfirmDelete   = "Delete this deck and all card contents, forever?";
                deck.CssConfirmClass = "deckDelete zoom";
            }
            deck.IsDeleteConfirm = !deck.IsDeleteConfirm;
            deckDeleteMessage    = deck.ConfirmDelete;
        }