reservierung.svelte 2.1 KB

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