diff options
Diffstat (limited to 'src/variables.js')
-rw-r--r-- | src/variables.js | 143 |
1 files changed, 143 insertions, 0 deletions
diff --git a/src/variables.js b/src/variables.js new file mode 100644 index 0000000..bf98ca1 --- /dev/null +++ b/src/variables.js @@ -0,0 +1,143 @@ +// Dont touch this +class Eintrag { + constructor(name, termine) { + this.name = name; + this.termine = termine; + } +} + +class Termin { + constructor(wochentag, raum, von, bis) { + this.wochentag = wochentag; + this.raum = raum; + this.von = von; + this.bis = bis; + } +} + +// You may touch this +export const student = "David Penkowoj"; +export const semester = "Sommersemester 2024"; +export const filename = `Stundenplan-${semester.replace(" ", "-")}.pdf`; + +export const hinweise = [ + "Mensabetrieb: 11:15 - 14:15 Uhr + 00:15 min", + "GET 2 / V am 23.05. & 04.07. im V1", + "GET 2 / Ü am 24.05. im T S2", + "FuQ / V am 24.05. im T S1", +]; + +export const eintraege = [ + new Eintrag("GET 2 / Ü", [ + new Termin("Mo", "AM S4", "12:00", "13:00"), + new Termin("Fr", "AM S4", "11:30", "13:00") + ]), + new Eintrag("GET 2 / V", [ + new Termin("Di", "H1", "08:30", "10:00"), + new Termin("Do", "Z 1/2", "08:30", "10:00") + ]), + new Eintrag("TGI 1 / V", [ + new Termin("Mi", "AM 1", "08:15", "09:45"), + ]), + new Eintrag("TGI 1 / Ü", [ + new Termin("Do", "AM 1", "15:00", "16:00"), + ]), + new Eintrag("TGI 1 / Prak. Gr. 2", [ + new Termin("Di", "ITI 131", "14:30", "17:30"), + ]), + new Eintrag("Pho / V", [ + new Termin("Fr", "T 1", "08:30", "10:00"), + ]), + new Eintrag("Pho / Ü", [ + new Termin("Mi", "AM 1", "12:00", "13:00"), + ]), + new Eintrag("Ana 2 / V", [ + new Termin("Di", "AM 1", "12:30", "14:00"), + ]), + new Eintrag("Ana 2 / Ü", [ + new Termin("Do", "H 1", "16:15", "17:15"), + ]), + new Eintrag("Ana 2 / Helpdesk", [ + new Termin("Di", "O-Sync", "18:00", "19:00"), + new Termin("Mi", "O-Sync", "18:00", "19:00") + ]), + new Eintrag("EiBMO / V", [ + new Termin("Mi", "H 1", "14:00", "16:00"), + ]), + new Eintrag("EiBMO / Ü", [ + new Termin("Mi", "H 1", "16:00", "17:00"), + ]), + new Eintrag("FuQ / V", [ + new Termin("Fr", "AM 4", "10:00", "11:30"), + ]), + new Eintrag("FuQ / Ü", [ + new Termin("Di", "SI 4 (Minsky)", "11:00", "12:00"), + ]), + new Eintrag("BLOCKED", [ + new Termin("Mo", "BLOCKED", "13:00", "19:00"), + new Termin("Do", "BLOCKED", "10:00", "15:00") + ]) +]; + +// You may touch this, if you know what you are doing +export const style = ` +<style> + * { + font-weight: 300; + font-family: "Abel", sans-serif; + -webkit-print-color-adjust: exact; + + --entries-b: #ccc; + --entries-f: #111; + --headers-b: #333; + --headers-f: #fff; + + --block: #ccc; + } + + table { + width: 100%; + } + + table td, table tr { + background: var(--headers-f); + height: 4px; + } + + table th, table td:not(:empty) { + background-color: var(--entries-b); + color: var(--entries-f); + padding: 0.5em 1em; + position: relative + } + + table th { + background-color: var(--headers-b); + color: var(--headers-f); + } + + table th.tag { + width: 20%; + } + + table td { + font-size: 12px; + } + + table td.block { + background-image: repeating-linear-gradient(314deg, var(--block), var(--block) 10px, transparent 10px, transparent 20px); + background-size: 99.9999999% 99.9999999%; + border: 2px solid var(--block); + } + + div { + position: absolute; + display: flex; + + top: 0.4em; + left: 0.4em; + width: calc(100% - 0.8em); + justify-content: space-between; + } +</style> +`; |