Yu-Gi-Oh! Deck Building and Card Inventory Management web interface written in Common Lisp, utilizing HTMX.
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

155 lignes
5.2KB

  1. {% extends "layouts/default.html" %}
  2. {% block title %}{_ "QR Code Generator" _}{% endblock %}
  3. {% block content %}
  4. <form name="qr-form" id="qr-form">
  5. {{ token | safe }}
  6. </form>
  7. <div class="container">
  8. <h1 class="title">QR Generator</h1>
  9. <div class="columns">
  10. <div class="column is-half">
  11. <!-- textarea -->
  12. <div class="field">
  13. <label class="label" for="string">Text Data</label>
  14. <div class="control">
  15. <textarea class="textarea"
  16. id="string"
  17. name="string"
  18. form="qr-form"
  19. hx-post="/qr"
  20. hx-include="[name='qr-form']"
  21. hx-target="#results"
  22. hx-trigger="keyup changed delay:500ms">{{ string }}</textarea>
  23. </div>
  24. </div>
  25. <!-- form options -->
  26. <div class="columns">
  27. <!-- form option -->
  28. <div class="column is-narrow">
  29. <div class="field is-narrow">
  30. <label class="label" for="ec-level">EC Level</label>
  31. <div class="control">
  32. <div class="select">
  33. <select id="ec-level"
  34. name="ec-level"
  35. form="qr-form"
  36. hx-post="/qr"
  37. hx-include="[name='qr-form']"
  38. hx-target="#results"
  39. hx-trigger="change throttle:500ms">
  40. <option {% if ec-level == "L" %}selected="selected"{% endif %} value="L">L</option>
  41. <option {% if ec-level == "M" %}selected="selected"{% endif %} value="M">M</option>
  42. <option {% if ec-level == "Q" %}selected="selected"{% endif %} value="Q">Q</option>
  43. <option {% if ec-level == "H" %}selected="selected"{% endif %} value="H">H</option>
  44. </select>
  45. </div>
  46. </div>
  47. </div>
  48. </div>
  49. <!-- form option -->
  50. <div class="column">
  51. <div class="field">
  52. <label class="label" for="encoding-mode">Encoding Mode</label>
  53. <div class="control">
  54. <div class="select">
  55. <select id="encoding-mode"
  56. name="encoding-mode"
  57. form="qr-form"
  58. hx-post="/qr"
  59. hx-include="[name='qr-form']"
  60. hx-target="#results"
  61. hx-trigger="change throttle:500ms">
  62. <option {% if encoding-mode == "ALPHANUMERIC" %}selected="selected"{% endif %} value="ALPHANUMERIC">ALPHANUMERIC</option>
  63. <option {% if encoding-mode == "8-BIT-BYTE" %}selected="selected"{% endif %} value="8-BIT-BYTE">8-BIT-BYTE</option>
  64. </select>
  65. </div>
  66. </div>
  67. </div>
  68. </div>
  69. <!-- form option -->
  70. <div class="column">
  71. <div class="field is-narrow">
  72. <label class="label" for="mask-number">Mask Number</label>
  73. <div class="control">
  74. <input class="input"
  75. id="mask-number"
  76. name="mask-number"
  77. form="qr-form"
  78. max="7"
  79. min="-1"
  80. type="number"
  81. value="{{ mask-number }}"
  82. hx-post="/qr"
  83. hx-include="[name='qr-form']"
  84. hx-target="#results"
  85. hx-trigger="change throttle:500ms">
  86. </div>
  87. </div>
  88. </div>
  89. <!-- form option -->
  90. <div class="column">
  91. <div class="field is-narrow">
  92. <label class="label" for="min-version">Min. Version</label>
  93. <div class="control">
  94. <input class="input"
  95. id="min-version"
  96. name="min-version"
  97. form="qr-form"
  98. type="number"
  99. min="1"
  100. max="40"
  101. value="{{ min-version }}"
  102. hx-include="[name='qr-form']"
  103. hx-post="/qr"
  104. hx-target="#results"
  105. hx-trigger="change throttle:500ms">
  106. </div>
  107. </div>
  108. </div>
  109. </div>
  110. <!-- Submit button -->
  111. <div class="field">
  112. <div class="control">
  113. <button class="button is-primary"
  114. hx-post="/qr"
  115. hx-include="[name='qr-form']"
  116. hx-target="#results"
  117. hx-trigger="click">Generate</button>
  118. </div>
  119. </div>
  120. <hr>
  121. <div class="message is-info">
  122. <div class="message-header">
  123. Helpful Links:
  124. </div>
  125. <div class="message-body">
  126. <ul>
  127. <li><a href="https://www.thonky.com/qr-code-tutorial/alphanumeric-table">Table of Alphanumeric Values</a></li>
  128. </ul>
  129. </div>
  130. </div>
  131. </div>
  132. <!-- Right hand side: QR Image -->
  133. <div class="column is-half">
  134. <div class="columns is-centered">
  135. <div class="column is-fullwidth">
  136. <div class="card image is-4x3" id="results">
  137. <img src="/public/qr.png" alt="QR Code">
  138. </div>
  139. </div>
  140. </div>
  141. </div>
  142. </div>
  143. </div>
  144. {% endblock %}