aboutsummaryrefslogtreecommitdiff
path: root/src/variables.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/variables.js')
-rw-r--r--src/variables.js143
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>
+`;