home.html 6.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <link rel="stylesheet" href="{{ url_for('static', filename='css/style.css') }}">
  7. <title>Kvíz: Který učitel na GJS jsi ty?</title>
  8. <script src="https://cdn.tailwindcss.com"></script>
  9. <script defer src="https://cdn.jsdelivr.net/npm/alpinejs@3.x.x/dist/cdn.min.js"></script>
  10. <style>
  11. body { background-color: #f0f4f8; }
  12. .gjs-blue { background-color: #0055a4; }
  13. .card { border-radius: 15px; box-shadow: 0 4px 6px rgba(0,0,0,0.1); }
  14. </style>
  15. <script>
  16. function quizApp() {
  17. return {
  18. zacalqiz: false,
  19. otazky: [],
  20. async startQuiz() {
  21. this.zacalqiz = ! this.zacalqiz
  22. if (this.zacalqiz && !this.otazky.length) {
  23. const res = await fetch('/api/questions?count=5');
  24. this.otazky = await res.json();
  25. }
  26. }
  27. }
  28. }
  29. </script>
  30. </head>
  31. <body x-data="quizApp()">
  32. <template x-if="!zacalqiz">
  33. <div>
  34. <div >
  35. <h1>silly_qiz</h1>
  36. <h3 class="rainbow">toto bude mega giga silly qiz, aby jste mohli zjistit který z učítelů gimjs jste :3</h3>
  37. <a href="{{ url_for('index') }}">Začít kvíz</a>
  38. </div>
  39. </div>
  40. </template>
  41. <template x-if="zacalqiz">
  42. <div class="flex flex-col items-center justify-center min-h-screen p-4" x-data="{
  43. zacalqiz: false,
  44. skoncilqiz: false,
  45. CurrentOtazka: 0,
  46. ZvoleneOtazky: [
  47. {
  48. id: 1,
  49. question: 'Jak nejraději strávíš svůj volný čas?',
  50. options: [
  51. 'Studium biologie',
  52. 'Diskuse o dějinách a filmech',
  53. 'Řešení matematických rovnic',
  54. 'Hokejový trénink'
  55. ],
  56. results: [
  57. 'Svobodová',
  58. 'Nájemník',
  59. 'Stejskal',
  60. 'Ambroz'
  61. ]
  62. },
  63. {
  64. id: 2,
  65. question: 'jakého eventu se zúčastníš?',
  66. options: [
  67. 'čtenářská čajovna',
  68. 'fotbalový zápas',
  69. 'chemická exkurze',
  70. 'turnaj v poítačových hrách'
  71. ],
  72. results: [
  73. 'Jílek',
  74. 'Orr',
  75. 'Ekrtová',
  76. 'Helgert'
  77. ]
  78. },
  79. {
  80. id: 3,
  81. question: 'Co uděláš když student nepochopí látku?',
  82. options: [
  83. 'trpělivě mu to několikrát vysvětlíš na příkladech',
  84. 'nechápeš co na tom nechápe',
  85. 'odběhneš od tématu a pak nestíháš',
  86. 'začneš diskuzi'
  87. ],
  88. results: [
  89. 'Ekrtová',
  90. 'Stejskal',
  91. 'Nájemník',
  92. 'Jílek'
  93. ]
  94. },
  95. {
  96. id: 4,
  97. question: 'Co uděláš když studenti hlučí?',
  98. options: [
  99. 'začneš šeptat',
  100. 'napomeneš je, s dotazem jestli je to nezajímá',
  101. 'je ti to jedno',
  102. 'poprosíš o klid'
  103. ],
  104. results: [
  105. 'Ambroz',
  106. 'Nájemník',
  107. 'Stejskal',
  108. 'Ekrtová'
  109. ]
  110. },
  111. {
  112. id: 5,
  113. question: 'jak často po tobě někdo něco potřebuje?',
  114. options: [
  115. 'Každou chvíli pomáháš s technikou',
  116. 'víš všechno a o všech, pořád se někdo ptá',
  117. 'Občas odpískáš fotbal, nebo organizuješ jazykové certifikáty',
  118. 'každou volnou chvíli někoho doučuješ'
  119. ],
  120. results: [
  121. 'Helgert',
  122. 'Svobodová',
  123. 'Orr',
  124. 'Ekrtová'
  125. ]
  126. },
  127. {
  128. id: 6,
  129. question: 'Jak často jsi ve škole?',
  130. options: [
  131. 'nikdy',
  132. 'každý den',
  133. 'téměř každý den',
  134. 'několikrát týdně'
  135. ],
  136. results: [
  137. 'Ambroz',
  138. 'Svobodová',
  139. 'Ekrtová',
  140. 'Stejskal'
  141. ]
  142. },
  143. {
  144. id: 7,
  145. question: 'Máš vlasy?',
  146. options: [
  147. 'Ne',
  148. 'Ano a hodně',
  149. 'Normální množství',
  150. 'nechávám si je narůst a pak na ježka'
  151. ],
  152. results: [
  153. 'Ambroz',
  154. 'Svobodová',
  155. 'Ekrtová',
  156. 'Jílek'
  157. ]
  158. },
  159. {
  160. id: 8,
  161. question: 'Jaký kroužek zorganizuješ?',
  162. options: [
  163. 'Basketbal',
  164. 'studium mikoživočichů',
  165. 'nezorganizuješ',
  166. 'turnaje v počítačových hrách'
  167. ],
  168. results: [
  169. 'Nájemník',
  170. 'Svobodová',
  171. 'Stejskal',
  172. 'Helgert'
  173. ]
  174. },
  175. {
  176. id: 9,
  177. question: 'Co je tvoje fav zvíře?',
  178. options: [
  179. 'Panda',
  180. 'Lochneska',
  181. 'asi nemáš',
  182. 'něco hrozně mikro a exotického'
  183. ],
  184. results: [
  185. 'Ekrtová',
  186. 'Orr',
  187. 'Stejskal',
  188. 'Svobodová'
  189. ]
  190. }
  191. ],
  192. SvobodaBody: 0,
  193. SvobodovaBody: 0,
  194. ReditelkBody: 0,
  195. PasterikovaBody: 0,
  196. HelgertBody: 0,
  197. DominecBody: 0,
  198. DudilieuxBody: 0,
  199. HlavacekBody: 0,
  200. HolasovaBody: 0,
  201. BesinBody: 0,
  202. JilekBody: 0,
  203. JungovaBody: 0,
  204. HorovaBody: 0,
  205. KarnoltovaBody: 0,
  206. ValdaBody: 0,
  207. KozubekBody: 0,
  208. HrabecBody: 0,
  209. KubiskovaBody: 0,
  210. MarekBody: 0,
  211. LímanováBody: 0,
  212. NajemnikBody: 0,
  213. OrrBody: 0,
  214. AparicioBody: 0,
  215. HornicekBody: 0,
  216. SibaBody: 0,
  217. ToulecBody: 0,
  218. UlrichovaBody: 0,
  219. ZabranskaBody: 0,
  220. ZalskaBody: 0,
  221. SmidBody: 0,
  222. LafreniereBody: 0,
  223. StejskalBody: 0,
  224. EkrtovaBody: 0,
  225. BurdenovaBody: 0,
  226. VavraBody: 0
  227. }">
  228. <div class="card bg-white w-full max-w-lg p-6 border-t-8 border-blue-700">
  229. <h1 class="text-2xl font-bold text-center text-gray-800 mb-8">
  230. Který učitel na GJS jsi ty?
  231. </h1>
  232. <div class="mb-8">
  233. <p class="text-lg font-semibold text-gray-700 mb-4 text-center" x-text="ZvoleneOtazky[CurrentOtazka]['question']"></p>
  234. <div class="space-y-3">
  235. <template x-for="(option, index) in ZvoleneOtazky[CurrentOtazka]['options']" :key="index">
  236. <label class="block p-3 border rounded-lg cursor-pointer hover:bg-blue-50 transition">
  237. <input
  238. type="radio"
  239. name="q1"
  240. class="mr-2"
  241. :value="option"
  242. >
  243. <span x-text="option"></span>
  244. </label>
  245. </template>
  246. </div>
  247. </div>
  248. <div class="flex justify-between mt-10">
  249. <button class="px-6 py-2 bg-gray-200 text-gray-700 rounded font-bold hover:bg-gray-300 transition" x-on:click="CurrentOtazka = Math.max(CurrentOtazka - 1, 0)" x-bind:disabled="CurrentOtazka === 0">
  250. Předchozí
  251. </button>
  252. <button class="px-6 py-2 gjs-blue text-white rounded font-bold hover:opacity-90 transition" x-on:click="CurrentOtazka = Math.min(CurrentOtazka + 1, ZvoleneOtazky.length - 1)" x-bind:disabled="CurrentOtazka >= ZvoleneOtazky.length - 1">
  253. Další
  254. </button>
  255. </div>
  256. </div>
  257. </div>
  258. </template>
  259. <button @click="startQuiz()">Začít kvíz</button>
  260. </body>
  261. </html>