import React, { ChangeEvent, useContext, useRef, useState } from 'react'; import './PartyPage.css'; import { APIEndPoint, PartyContext, PartyStatus } from './PartyContext'; // import MatrixBackground from './MatrixBackground'; import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; import { faAngleDown, faCalendarDays, faLocationDot } from '@fortawesome/free-solid-svg-icons'; import { modifySelfRequest, parseURI } from './partyApi'; const myDear = { "m": "lieber", "f": "liebe", "d": "liebes", }; // eslint-disable-next-line @typescript-eslint/no-unused-vars function getComingString(party: PartyStatus): string { if (party.maybe_coming === 0) { // exact number if (party.definitely_coming === 0) { return "Bisher hat noch niemand zugesagt." } else if (party.definitely_coming === 1) { return "Bisher hat ein Gast zugesagt." } else { return `Es haben schon ${party.definitely_coming} Gäste zugesagt.` } } else { // inexact if (party.definitely_coming === 0 && party.maybe_coming === 1) { return "Bisher hat ein Gast vorläufig zugesagt." } else if (party.definitely_coming === 0) { return `Bisher haben ${party.maybe_coming} Gäste vorläufig zugesagt.` } else { return `Nach den bisherigen Zusagen kommen ${party.definitely_coming} bis ${party.definitely_coming + party.maybe_coming} Gäste.` } } } export const PartyPage: React.FC = () => { const partyContext = useContext(PartyContext); const dear = myDear[partyContext.self.grammatical_gender]; const name = partyContext.self.name; const wannUndWoRef = useRef(null) const executeScroll = () => { wannUndWoRef.current!.scrollIntoView({ behavior: 'smooth' }) } const [comingState, setComingState] = useState(partyContext.self.coming); // SAFETY: If this is undefined, the contextProvider already fails const endpoint = parseURI(window.location.href) as APIEndPoint; const handleSelect = async (e: ChangeEvent) => { const value = (e.target as HTMLInputElement).value; if (value !== "yes" && value !== "no" && value !== "maybe") { throw new Error("received invalid value?"); } const status = await modifySelfRequest(endpoint, { coming: value }); setComingState(status.coming); } return

Hallo {dear} {name},

am 16. Dezember wird die Heizung der Universität das letzte Mal angeschaltet... Diesen letzten warmen Tag vor Weihnachten wollen wir gerne nutzen.

Daher veranstalten wir ab 18:00 eine Weihnachtsparty!

Wir würden uns sehr freuen, wenn auch du, {dear} {name}, dabei wärst :)

Mehr Infos

Wann und Wo?

 16. Dezember, ab 18:00. Bitte komme nach Möglichkeit pünktlich.

 Gebäude E1 1, Raum 407, Universität des Saarlandes

Was ist geplant?

Wir (Sebastian & Simon) wollen uns mit euch auf Weihnachten einstimmen. Wir planen ein weihnachtliches Programm, mit Geschichten, Liedern, Essen, und der einen oder anderen Überraschung.

Natürlich haben wir auch genügend Zeit, uns gemütlich bei einem Heißgetränk zu unterhalten.

Was gibt es zu Essen?

Wir planen ein Potluck-Event. Damit sollte für alle genug Essen dabei sein. Getränke, insbesondere Glühwein, Kinderpunsch und ähnliches wird von uns organisiert.

Was soll ich mitbringen?

Es wäre super, wenn du zum Potluck ein Gericht mitbringen kannst. Für Inspirationen kannst du uns natürlich gerne fragen, oder schon einmal hier vorbeischauen. Bitte informiere uns kurz, was du gerne mitbringen würdest, damit wir besser kalkulieren können. Ansonsten darfst du sehr gerne Plätzchen, Weihnachtsdeko oder Ähnliches mitbringen.

Falls du ansonsten Wünsche oder Anregungen für einen gelungenen Abend hast, teil diese uns gerne mit!

};