Yu-Gi-Oh! Deck Building and Card Inventory Management web interface written in Common Lisp, utilizing HTMX.
Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.

155 rindas
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 %}