-
- Learn React
-
- Hello {partyContext.self.name}
-
+ const dear = myDear[partyContext.self.grammatical_gender];
+ const name = partyContext.self.name;
+ const party = partyContext.party;
+
+ const [comingState, setComingState] = useState(partyContext.self.coming);
+
+ // SAFETY: If this is undefined, the contextProvider already fails
+ // eslint-disable-next-line no-restricted-globals
+ const endpoint = parseURI(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);
+ }
+
+ let coming: string;
+ if (party.maybe_coming === 0) {
+ // exact number
+ if (party.definitely_coming === 0) {
+ coming = "Bisher hat noch niemand zugesagt."
+ } else if (party.definitely_coming === 1) {
+ coming = "Bisher hat ein Gast zugesagt."
+ } else {
+ coming = `Es haben schon ${party.definitely_coming} Gäste zugesagt.`
+ }
+ } else {
+ // inexact
+ if (party.definitely_coming === 0 && party.maybe_coming === 1) {
+ coming = "Bisher hat ein Gast vorläufig zugesagt."
+ } else if (party.definitely_coming === 0) {
+ coming = `Bisher haben ${party.maybe_coming} Gäste vorläufig zugesagt.`
+ } else {
+ coming = `Nach den bisherigen Zusagen kommen ${party.definitely_coming} bis ${party.definitely_coming + party.maybe_coming} Gäste.`
+ }
+ }
+
+ return
+
+
+
+
Hallo {dear} {name},
+
+ am 16. Dezember wird die Heizung der Universität das letzte Mal angeschaltet...
+ Diese Chance, Energie zu schnorren, wollen wir ein letztes Mal nutzen.
+
+
+ Das wollen wir (Kai, Dominic, Jesko) uns natürlich nicht entgehen lassen.
+ Also veranstalten wir eine mega krasse LAN-Party.
+ {coming}
+
+
+ Wir würden uns sehr freuen, wenn auch du, {dear} {name}, am Start wärst :)
+
+
+
+
+
+
+
+
+
+
+ Mehr Infos
+
+
+
+
+
Wann und Wo?
+
+ 29. Oktober, 19:00 bis 31. Oktober irgendwann.
+
+ Ja, der 30. ist ein Sonntag.
+ Am 1. 11. ist aber Allerheiligen, also bietet es sich an am 31. nen Brückentag zu machen.
+ So hat man dann auch genug Zeit um nach den 25+ Stunden ordentlich auszuschlafen.
+
+
Alter ernsthaft 25 Stunden?
+
+ Prinzipiell ja.
+ Wer möchte kann sich aber gerne auf eine unserer beiden Couches zurückziehen,
+ oder eine Luftmatratze mitbringen, oder vorher gehen, oder später dazukommen,
+ oder zwischendurch nach Hause fahren...
+
+
Und was wenn ich Hunger bekomme?
+
+ Wir werden ein Curry, Chili o.Ä. kochen.
+ Bring aber auch gerne Snacks, Getränke, Knoblauchdip oder Kuchen mit :)
+
+
Aber wo soll ich mein Auto hinstellen?
+
+ Am Waldhaus gibt es einen kostenlosen Parkplatz.
+ Wenn du mit dem Auto kommst sag Bescheid, wir planen uns dort zu treffen und dann mit einem Auto auf Kai's Premium-Parkplatz direkt neben der WG fahren.
+