<!DOCTYPE html>
<html lang="en">
  <head>
    <!-- Required meta tags -->
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1" />

    <title>Tripeaks Solver</title>
  </head>
  <body>
    <div class="container">
      <div class="row">
        <div class="col pt-3 pt-lg-5">
          <h1>Tripeaks Solver</h1>

          <p x-data="helloilove" x-text="message"></p>

          <form
            id="cardsInputForm"
            x-data="cardsInputForm"
            x-init="onInit()"
            @submit.prevent="submit"
            class="needs-validation"
            :class="{'was-validated': isFormValid && inputValue.length > 2 }"
            novalidate
          >
            <div class="mb-3">
              <label id="cardsInputLabel" for="cardsInput" class="form-label"
                >Enter Your Cards</label
              >
              <input
                id="cardsInput"
                aria-describedby="cardsInputLabel"
                x-model="inputValue"
                class="form-control"
                :class="{ 'is-valid': isFormValid && inputValue.length > 2, 'is-invalid': !isFormValid && inputValue.length > 2 }"
                maxlength="155"
                @keyup.debounce="validateCardsInput($event)"
                placeholder="e.g., 2S TC 4S QD KH 5S 9S ..."
              />

              <template x-for="msg in validMessages">
                <div
                  class="valid-feedback"
                  :class="{ 'd-block': validCards.length > 0  }"
                  x-text="msg"
                ></div>
              </template>
              <template x-for="msg in invalidMessages">
                <div
                  class="invalid-feedback"
                  :class="{ 'd-block': invalidMessages.length > 0 && inputValue.length > 2 }"
                  x-text="msg"
                ></div>
              </template>
            </div>

            <div class="mb-3">
              <label
                id="cardsToSolveLabel"
                for="cardsToSolve"
                class="form-label"
                >Cards Identified For Solving</label
              >
              <textarea
                id="cardsToSolve"
                aria-describedby="cardsToSolveLabel"
                class="form-control"
                x-text="cardsToSolve.join(' ')"
                rows="4"
                disabled
                readonly
              ></textarea>
            </div>
          </form>

          <!-- <div x-data="cardInput">

            <div class="mb-3">

              <label for="userCardEntryInput" class="form-label" id="userCardEntryInputHelp">Enter Game Cards</label>
              <input @keyup.debounce="validateCardString($event)" class="form-control" :class="{ 'is-valid': inputIsValid, 'is-invalid': !inputIsValid }" id="userCardEntryInput" aria-describedby="userCardEntryInputHelp" maxlength="155" placeholder="e.g., 2S TC 4S QD KH 5S 9S ...">

              <div class="valid-feedback" :class="{ 'd-block': validUserCards.filter(c => c !== '0').length > 0 }" x-text="validatedCardsStr(validUserCards.filter(c => c != '0'), 'valid')"></div>

              <div class="valid-feedback text-muted" :class="{ 'd-block': validUserCards.filter(c => c === '0').length > 0 }" x-text="`${52 - validUserCards.filter(c => c !== '0').length} unknown card${validUserCards.filter(c => c === '0').length > 1 ? 's' : ''}`"></div>

              <div class="invalid-feedback" :class="{ 'd-block': dupedUserCards.length > 0 }" x-text="validatedCardsStr(dupedUserCards, 'duplicate')"></div>

              <div class="invalid-feedback" :class="{ 'd-block': invalidUserCards.length > 0 }" x-text="validatedCardsStr(invalidUserCards, 'invalid')"></div>

              <div class="invalid-feedback" :class="{ 'd-block': invalidLength !== '' }" x-text="invalidLength"></div>
            </div>

          </div> -->
        </div>
      </div>
    </div>

    <script type="module" src="/main.js"></script>
  </body>
</html>