diff --git a/js/CommonComponents.js b/js/CommonComponents.js
deleted file mode 100644
index b32d412..0000000
--- a/js/CommonComponents.js
+++ /dev/null
@@ -1,282 +0,0 @@
-import {
- Badge,
- Button,
- ButtonGroup,
- Card,
- CardBody,
- Container,
- Collapse,
- Form,
- FormGroup,
- Nav,
- Navbar,
- NavbarBrand,
- NavbarToggler,
- NavItem,
- NavLink,
- Input,
- Label
-} from 'reactstrap';
-
-import { connect } from 'react-redux';
-
-import React from 'react';
-
-import { login, logout } from './api';
-
-export function BigImage(props) {
- return (
-
+
diff --git a/pages/_error.js b/pages/_error.js
index c0babdc..29a2c44 100644
--- a/pages/_error.js
+++ b/pages/_error.js
@@ -1,9 +1,7 @@
-import { ErrorPageComponent } from '../js/components/ErrorComponents.js';
-import React from 'react';
+import React from 'react';
-import {
- verifyCredentials
-} from '../js/api';
+import { ErrorPageComponent } from '../js/components/ErrorComponents';
+import { verifyCredentials } from '../js/api';
export default class Error extends React.Component {
static getInitialProps({ res, err }) {
diff --git a/pages/create.js b/pages/create.js
index 3a25a0b..b8ad288 100644
--- a/pages/create.js
+++ b/pages/create.js
@@ -1,8 +1,6 @@
-import Head from 'next/head';
-import '../static/everypage.css';
-import { Footer, TurniereNavigation, UserRestrictor, Option, Login } from '../js/CommonComponents';
-import React from 'react';
-import { connect } from 'react-redux';
+import Head from 'next/head';
+import React from 'react';
+import { connect } from 'react-redux';
import {
Button,
@@ -17,11 +15,14 @@ import {
Label
} from 'reactstrap';
-import {
- verifyCredentials
-} from '../js/api';
+import { TurniereNavigation } from '../js/components/Navigation';
+import { Footer } from '../js/components/Footer';
+import { UserRestrictor, Option } from '../js/components/UserRestrictor';
+import { Login } from '../js/components/Login';
+import { verifyCredentials } from '../js/api';
+import EditableStringList from '../js/components/EditableStringList';
-import EditableStringList from '../js/EditableStringList';
+import '../static/everypage.css';
class PrivateCreatePage extends React.Component {
diff --git a/pages/faq.js b/pages/faq.js
index d747e7d..c861b13 100644
--- a/pages/faq.js
+++ b/pages/faq.js
@@ -1,13 +1,15 @@
-import Head from 'next/head';
-import React from 'react';
-import {Col, Container, Row} from 'reactstrap';
-import 'bootstrap/dist/css/bootstrap.min.css';
-import { BigImage, Footer, TurniereNavigation } from '../js/CommonComponents.js';
-import '../static/everypage.css';
+import Head from 'next/head';
+import React from 'react';
+import { Col, Container, Row } from 'reactstrap';
-import {
- verifyCredentials
-} from '../js/api';
+import { TurniereNavigation } from '../js/components/Navigation';
+import { BigImage } from '../js/components/BigImage';
+import { Footer } from '../js/components/Footer';
+import { verifyCredentials } from '../js/api';
+
+import 'bootstrap/dist/css/bootstrap.min.css';
+
+import '../static/everypage.css';
function Main() {
return (
diff --git a/pages/imprint.js b/pages/imprint.js
index 34fb942..40d58a9 100644
--- a/pages/imprint.js
+++ b/pages/imprint.js
@@ -1,13 +1,14 @@
-import Head from 'next/head';
-import React from 'react';
-import {Container} from 'reactstrap';
-import 'bootstrap/dist/css/bootstrap.min.css';
-import {BigImage, Footer, TurniereNavigation} from '../js/CommonComponents.js';
-import '../static/everypage.css';
+import Head from 'next/head';
+import React from 'react';
+import { Container } from 'reactstrap';
-import {
- verifyCredentials
-} from '../js/api';
+import { TurniereNavigation } from '../js/components/Navigation';
+import { BigImage } from '../js/components/BigImage';
+import { Footer } from '../js/components/Footer';
+import { verifyCredentials } from '../js/api';
+
+import 'bootstrap/dist/css/bootstrap.min.css';
+import '../static/everypage.css';
function Main() {
return (
diff --git a/pages/index.js b/pages/index.js
index b49f80d..77c93eb 100644
--- a/pages/index.js
+++ b/pages/index.js
@@ -1,21 +1,25 @@
-import Head from 'next/head';
-import React from 'react';
-
-import { Alert, Button, Card, CardBody } from 'reactstrap';
-
-import 'bootstrap/dist/css/bootstrap.min.css';
-
-import { BigImage, Footer, TurniereNavigation } from '../js/CommonComponents.js';
-
-import '../static/everypage.css';
-import '../static/css/index.css';
-
-import { connect } from 'react-redux';
+import Head from 'next/head';
+import React from 'react';
+import { connect } from 'react-redux';
+import {
+ Alert,
+ Button,
+ Card,
+ CardBody
+} from 'reactstrap';
+import { TurniereNavigation } from '../js/components/Navigation';
+import { BigImage } from '../js/components/BigImage';
+import { Footer } from '../js/components/Footer';
import {
verifyCredentials
} from '../js/api';
+import 'bootstrap/dist/css/bootstrap.min.css';
+
+import '../static/everypage.css';
+import '../static/css/index.css';
+
function Main() {
return (
diff --git a/pages/list.js b/pages/list.js
index 200e412..7e9f018 100644
--- a/pages/list.js
+++ b/pages/list.js
@@ -1,8 +1,13 @@
-import Head from 'next/head';
-import React from 'react';
-import { Card, CardBody, Container } from 'reactstrap';
+import Head from 'next/head';
+import React from 'react';
+import {
+ Card,
+ CardBody,
+ Container
+} from 'reactstrap';
-import { Footer, TurniereNavigation } from '../js/CommonComponents';
+import { TurniereNavigation } from '../js/components/Navigation';
+import { Footer } from '../js/components/Footer';
import {
getRequest,
getState,
diff --git a/pages/login.js b/pages/login.js
index aa43fa5..4bed1e0 100644
--- a/pages/login.js
+++ b/pages/login.js
@@ -1,11 +1,12 @@
-import Head from 'next/head';
-import '../static/everypage.css';
-import { Footer, TurniereNavigation, Login } from '../js/CommonComponents';
-import React from 'react';
+import Head from 'next/head';
+import React from 'react';
-import {
- verifyCredentials
-} from '../js/api';
+import { TurniereNavigation } from '../js/components/Navigation';
+import { Footer } from '../js/components/Footer';
+import { Login } from '../js/components/Login';
+import { verifyCredentials } from '../js/api';
+
+import '../static/everypage.css';
export default class LoginPage extends React.Component {
diff --git a/pages/privacy.js b/pages/privacy.js
index e4263eb..42dca7f 100644
--- a/pages/privacy.js
+++ b/pages/privacy.js
@@ -1,13 +1,15 @@
-import Head from 'next/head';
-import React from 'react';
-import {Container} from 'reactstrap';
-import 'bootstrap/dist/css/bootstrap.min.css';
-import { BigImage, Footer, TurniereNavigation } from '../js/CommonComponents.js';
-import '../static/everypage.css';
+import Head from 'next/head';
+import React from 'react';
+import { Container } from 'reactstrap';
-import {
- verifyCredentials
-} from '../js/api';
+import { TurniereNavigation } from '../js/components/Navigation';
+import { BigImage } from '../js/components/BigImage';
+import { Footer } from '../js/components/Footer';
+import { verifyCredentials } from '../js/api';
+
+import 'bootstrap/dist/css/bootstrap.min.css';
+
+import '../static/everypage.css';
function Main() {
return (
diff --git a/pages/register.js b/pages/register.js
index 096d6c1..91ebc81 100644
--- a/pages/register.js
+++ b/pages/register.js
@@ -1,14 +1,24 @@
-import Head from 'next/head';
-import '../static/everypage.css';
-import {Footer, TurniereNavigation} from '../js/CommonComponents';
-import React from 'react';
-import { Button, Card, CardBody, Container, Form, FormGroup, FormText, Input, Label } from 'reactstrap';
-import { register } from '../js/api';
-import { connect } from 'react-redux';
-
+import Head from 'next/head';
+import React from 'react';
+import { connect } from 'react-redux';
import {
- verifyCredentials
-} from '../js/api';
+ Button,
+ Card,
+ CardBody,
+ Container,
+ Form,
+ FormGroup,
+ FormText,
+ Input,
+ Label
+} from 'reactstrap';
+
+import { TurniereNavigation } from '../js/components/Navigation';
+import { Footer } from '../js/components/Footer';
+import { register } from '../js/api';
+import { verifyCredentials } from '../js/api';
+
+import '../static/everypage.css';
export default class RegisterPage extends React.Component {
diff --git a/pages/tournament-edit.js b/pages/tournament-edit.js
index 1d147c1..8b0dfae 100644
--- a/pages/tournament-edit.js
+++ b/pages/tournament-edit.js
@@ -1,13 +1,7 @@
-import Head from 'next/head';
-import React from 'react';
-import 'bootstrap/dist/css/bootstrap.min.css';
-import { connect } from 'react-redux';
-import { notify } from 'react-notify-toast';
-
-import { requestTournament } from '../js/api';
-import { BigImage, Footer, TurniereNavigation, Login, UserRestrictor, Option } from '../js/CommonComponents.js';
-import { ErrorPageComponent } from '../js/components/ErrorComponents.js';
-
+import Head from 'next/head';
+import React from 'react';
+import { connect } from 'react-redux';
+import { notify } from 'react-notify-toast';
import {
Container,
Button,
@@ -16,11 +10,20 @@ import {
Table
} from 'reactstrap';
+import { requestTournament } from '../js/api';
+import { TurniereNavigation } from '../js/components/Navigation';
+import { BigImage } from '../js/components/BigImage';
+import { UserRestrictor, Option } from '../js/components/UserRestrictor';
+import { Footer } from '../js/components/Footer';
+import { Login } from '../js/components/Login';
+import { ErrorPageComponent } from '../js/components/ErrorComponents';
import {
verifyCredentials,
updateTeamName
} from '../js/api';
+import 'bootstrap/dist/css/bootstrap.min.css';
+
import '../static/everypage.css';
import '../static/css/index.css';
diff --git a/pages/tournament-fullscreen.js b/pages/tournament-fullscreen.js
index 21fddff..a7b79d3 100644
--- a/pages/tournament-fullscreen.js
+++ b/pages/tournament-fullscreen.js
@@ -1,4 +1,4 @@
-import Head from 'next/head';
+import Head from 'next/head';
import React from 'react';
import {
diff --git a/pages/tournament.js b/pages/tournament.js
index cae6a93..343192f 100644
--- a/pages/tournament.js
+++ b/pages/tournament.js
@@ -1,5 +1,6 @@
-import Head from 'next/head';
-import React from 'react';
+import Head from 'next/head';
+import React from 'react';
+import { connect } from 'react-redux';
import {
Button,
Card,
@@ -18,19 +19,22 @@ import {
Row,
Table
} from 'reactstrap';
-import { ErrorPageComponent } from '../js/components/ErrorComponents.js';
-import 'bootstrap/dist/css/bootstrap.min.css';
-import {BigImage, Footer, TurniereNavigation} from '../js/CommonComponents.js';
-import '../static/everypage.css';
-import '../static/css/tournament.css';
-import { connect } from 'react-redux';
+import { ErrorPageComponent } from '../js/components/ErrorComponents';
+import { Footer } from '../js/components/Footer';
+import { TurniereNavigation } from '../js/components/Navigation';
+import { BigImage } from '../js/components/BigImage';
import {
getRequest,
getState,
verifyCredentials
} from '../js/api';
+import 'bootstrap/dist/css/bootstrap.min.css';
+
+import '../static/everypage.css';
+import '../static/css/tournament.css';
+
class PrivateTournamentPage extends React.Component {
render() {
diff --git a/static/icons/favicon.ico b/static/icons/favicon.ico
new file mode 100644
index 0000000..ed8c89a
Binary files /dev/null and b/static/icons/favicon.ico differ
diff --git a/yarn.lock b/yarn.lock
index aa16d47..ad27f6d 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -6431,6 +6431,11 @@ react-error-overlay@4.0.0:
resolved "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-4.0.0.tgz#d198408a85b4070937a98667f500c832f86bd5d4"
integrity sha512-FlsPxavEyMuR6TjVbSSywovXSEyOg6ZDj5+Z8nbsRl9EkOzAhEIcS+GLoQDC5fz/t9suhUXWmUrOBrgeUvrMxw==
+react-favicon@^0.0.14:
+ version "0.0.14"
+ resolved "https://registry.yarnpkg.com/react-favicon/-/react-favicon-0.0.14.tgz#3c9c7b999d106e6e112f729ab929b8dbec05b280"
+ integrity sha512-dE1Q13jgc5/Z49G3O3LSdJ87XGK6I4sIYmx3+ROYOEkt0wcrdP9J5wf2oDLtq7D9bOm0j62HAWP+DoofjsHNJQ==
+
react-is@^16.6.0, react-is@^16.7.0, react-is@^16.8.1:
version "16.8.6"
resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.8.6.tgz#5bbc1e2d29141c9fbdfed456343fe2bc430a6a16"