reservierung.svelte 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. <script>
  2. export let schueler,
  3. privat,
  4. einstellungen = {};
  5. let reservierung_anzeigen = einstellungen.reservierung_anzeigen;
  6. let reservierung_erlauben = einstellungen.reservierung_erlauben;
  7. let schueler_verbergen;
  8. $: console.log(reservierung_anzeigen);
  9. const { Pool } = R("pg");
  10. const pool = new Pool({ connectionString: privat.mein_bk_db });
  11. $: reservierung_anzeigen !== null &&
  12. pool.query(`UPDATE einstellungen SET reservierung_anzeigen=$1`, [
  13. reservierung_anzeigen,
  14. ]);
  15. $: reservierung_erlauben !== null &&
  16. pool.query(`UPDATE einstellungen SET reservierung_erlauben=$1`, [
  17. reservierung_erlauben,
  18. ]);
  19. </script>
  20. <h3 class="title">Reservierungen Bibliothek</h3>
  21. <div class="field">
  22. <label class="checkbox">
  23. <input type="checkbox" bind:checked={reservierung_anzeigen} />
  24. Reservierungsseite für Schüler anzeigen
  25. </label>
  26. </div>
  27. {#if reservierung_anzeigen}
  28. <div class="field">
  29. <label class="checkbox">
  30. <input type="checkbox" bind:checked={reservierung_erlauben} />
  31. Reservierungen zulassen
  32. </label>
  33. </div>
  34. {/if}
  35. <div class="field">
  36. <label class="checkbox">
  37. <input type="checkbox" bind:checked={schueler_verbergen} />
  38. Schüler verbergen
  39. </label>
  40. </div>
  41. {#if !schueler_verbergen}
  42. <div class="columns">
  43. <div class="column is-two-thirds">
  44. {#each Object.entries(schueler) as [klasse, schueler]}
  45. <h3 class="title">{klasse}</h3>
  46. <table class="table is-striped">
  47. <thead>
  48. <tr>
  49. <th>Name</th>
  50. <th>Vorname</th>
  51. <th>Auswahlstatus</th>
  52. </tr>
  53. </thead>
  54. <tbody>
  55. {#each schueler as s}
  56. <tr>
  57. <td
  58. >{#if s.age.year < 18}<span class="tag is-danger">18</span
  59. >{/if}-{s.age}-{s.Name}</td
  60. >
  61. <td>{s.Vorname}</td>
  62. <td>
  63. <span
  64. class="tag"
  65. class:is-light={s.reservierung === undefined ||
  66. s.reservierung === null}
  67. class:is-danger={s.reservierung === "abgelehnt"}
  68. class:is-info={s.reservierung === "in Bearbeitung"}
  69. class:is-success={s.reservierung === "abholbereit"}
  70. class:is-warning={s.reservierung === "abholbereit (U18)"}
  71. >{s.reservierung || "–"}</span
  72. >
  73. </td>
  74. </tr>
  75. {/each}
  76. </tbody>
  77. </table>
  78. {/each}
  79. </div>
  80. </div>
  81. {/if}
  82. <style>
  83. @import "./node_modules/bulma-tooltip/dist/css/bulma-tooltip.min.css";
  84. </style>