forked from partypages/party-template
Add page content, Add icons
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
@@ -1,43 +1,49 @@
|
||||
.loading {
|
||||
height: 100vh;
|
||||
width: 100vw;
|
||||
background-color: black;
|
||||
height: 100vh;
|
||||
width: 100vw;
|
||||
background-color: black;
|
||||
}
|
||||
|
||||
.App {
|
||||
color: white;
|
||||
font-size: calc(10px + 2vmin);
|
||||
text-shadow:
|
||||
-1px -1px 0.2em #000,
|
||||
1px -1px 0.2em #000,
|
||||
-1px 1px 0.2em #000,
|
||||
1px 1px 0.2em #000;
|
||||
text-align: center;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.App-logo {
|
||||
height: 40vmin;
|
||||
pointer-events: none;
|
||||
.container {
|
||||
max-width: 1024px;
|
||||
}
|
||||
|
||||
@media (prefers-reduced-motion: no-preference) {
|
||||
.App-logo {
|
||||
animation: App-logo-spin infinite 20s linear;
|
||||
}
|
||||
}
|
||||
|
||||
.App-header {
|
||||
.fullheight {
|
||||
min-height: 100vh;
|
||||
}
|
||||
|
||||
.hero {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
font-size: calc(10px + 2vmin);
|
||||
color: white;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.App-link {
|
||||
color: #61dafb;
|
||||
.hero-outer {
|
||||
flex-grow: 1;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: flex-end;
|
||||
}
|
||||
|
||||
@keyframes App-logo-spin {
|
||||
from {
|
||||
transform: rotate(0deg);
|
||||
}
|
||||
to {
|
||||
transform: rotate(360deg);
|
||||
}
|
||||
h1,
|
||||
h2 {
|
||||
margin: 1em 0 0.1em 0;
|
||||
}
|
||||
|
||||
p {
|
||||
margin: 0.3em 0 0.3em 0;
|
||||
}
|
||||
@@ -3,6 +3,8 @@ import React, { useContext } from 'react';
|
||||
import './PartyPage.css';
|
||||
import { PartyContext } from './PartyContext';
|
||||
import MatrixBackground from './MatrixBackground';
|
||||
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
|
||||
import { faAngleDown, faCalendarDays, faLocationDot } from '@fortawesome/free-solid-svg-icons';
|
||||
|
||||
const myDear = {
|
||||
"m": "lieber",
|
||||
@@ -12,12 +14,80 @@ const myDear = {
|
||||
|
||||
export const PartyPage: React.FC = () => {
|
||||
const partyContext = useContext(PartyContext);
|
||||
const dear = myDear[partyContext.self.grammatical_gender];
|
||||
const name = partyContext.self.name;
|
||||
const party = partyContext.party;
|
||||
|
||||
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 <div className="App">
|
||||
<MatrixBackground />
|
||||
<header className="App-header">
|
||||
<span>Hallo {myDear[partyContext.self.grammatical_gender]} {partyContext.self.name},</span>
|
||||
<span>komm doch zur Party!</span>
|
||||
</header>
|
||||
<div className='container'>
|
||||
<div className='hero fullheight'>
|
||||
<div className='hero-outer'></div>
|
||||
<h1>Hallo {dear} {name},</h1>
|
||||
<p>
|
||||
am <strong> 30. Oktober </strong> wird die Uhr wieder auf Winterzeit umgestellt.
|
||||
Das heißt, theoretisch könnten wir <strong> 25 Stunden an einem Tag zocken!</strong>
|
||||
</p>
|
||||
<p>
|
||||
Das wollen wir (Kai, Dominic, Jesko) uns natürlich nicht entgehen lassen.
|
||||
Also veranstalten wir eine <strong> mega krasse LAN-Party. </strong>
|
||||
{coming}
|
||||
</p>
|
||||
<p>
|
||||
Wir würden uns sehr freuen, wenn auch du, {dear} {name}, am Start wärst :)
|
||||
</p>
|
||||
<div className='feedback'>
|
||||
<button>Auf gehts</button>
|
||||
<button>Hmm vielleicht</button>
|
||||
<button>Nee sorry</button>
|
||||
</div>
|
||||
<div className='hero-outer'>
|
||||
Mehr Infos
|
||||
<FontAwesomeIcon icon={faAngleDown} />
|
||||
</div>
|
||||
</div>
|
||||
<div className='hero fullheight'>
|
||||
<h2>Wann und Wo?</h2>
|
||||
<p>
|
||||
<FontAwesomeIcon icon={faCalendarDays} /> <strong>29. Oktober, 19:00</strong> bis <strong>31. Oktober</strong> irgendwann.
|
||||
</p>
|
||||
<p>
|
||||
<FontAwesomeIcon icon={faLocationDot} /> <strong>Mainzer Str. 28</strong>, 66111 Saarbrücken
|
||||
</p>
|
||||
<h2>Alter ernsthaft 25 Stunden?</h2>
|
||||
<p>
|
||||
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...
|
||||
</p>
|
||||
<h2>Und was wenn ich Hunger bekomme?</h2>
|
||||
<p>
|
||||
Wir werden ein Curry, Chili o.Ä. kochen.
|
||||
Bring aber auch gerne Snacks, Getränke, Knoblauchdip oder Kuchen mit :)
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
};
|
||||
Reference in New Issue
Block a user