diff --git a/pages/_error.js b/pages/_error.js index e56fc4a..300cb4a 100644 --- a/pages/_error.js +++ b/pages/_error.js @@ -1,9 +1,14 @@ -import React from 'react' import Head from 'next/head' +import React from 'react' +import {Footer, TurniereNavigation} from "../js/CommonComponents"; +import 'bootstrap/dist/css/bootstrap.min.css'; +import {Container} from "reactstrap"; +import '../static/everypage.css' +import '../static/css/error.css' export default class Error extends React.Component { static getInitialProps({ res, err }) { - const statusCode = res ? res.statusCode : err ? err.statusCode : null; + const statusCode = res ? res.statusCode : err ? err.statusCode : 400; return { statusCode } } @@ -11,14 +16,71 @@ export default class Error extends React.Component { return (
- Turnie.re - Error {this.props.statusCode} + turnie.re - Error {this.props.statusCode} -

- {this.props.statusCode - ? `An error ${this.props.statusCode} occurred on server` - : 'An error occurred on client'} -

+ + +
) } } + +function ErrorPage(props){ + return ( + +
+
+ +
+
+

{props.statusCode}

+
+
+ +
+ ); +} + +function ErrorMessage(props) { + switch (props.code) { + case 400: + return (
+

Deine Anfrage ist fehlerhaft.

+

+ Wir empfehlen, die eingegebene Seite über die Startseite zu suchen. +

+
); + case 403: + return (
+

Du bist nicht autorisiert, diese Seite aufzurufen.

+

+ Bitte stelle sicher, dass Du angemeldet bist und auf dieses Turnier oder dieses Match zugreifen darfst. +

+

+ Wir empfehlen, die eingegebene Seite über die Startseite zu suchen. +

+
); + case 404: + return (
+

Die aufgerufene Seite wurde leider nicht gefunden.

+

+ Entweder hast Du dich vertippt, oder die gesuchte Seite gibt es nicht. +

+

+ Wir empfehlen, die eingegebene Seite über die Startseite zu suchen. +

+
); + case 500: + return (
+

Diese Seite funktioniert nicht.

+

+ turnie.re kann Deine Anfrage im Moment nicht verarbeiten. Bitte versuche es später erneut. +

+
); + default: + return (
+

Ein unbekannter Fehler ist aufgetreten.

+
); + } +} \ No newline at end of file diff --git a/static/css/error.css b/static/css/error.css new file mode 100644 index 0000000..fe08200 --- /dev/null +++ b/static/css/error.css @@ -0,0 +1,9 @@ +.error-code-box { + display: flex; + justify-content: center; + align-items: center; +} + +.error-code-box h1 { + font-size: 10em; +} \ No newline at end of file diff --git a/static/images/logo-questionmark.png b/static/images/logo-questionmark.png new file mode 100644 index 0000000..3971607 Binary files /dev/null and b/static/images/logo-questionmark.png differ