diff --git a/js/components/RequireLogin.js b/js/components/RequireLogin.js new file mode 100644 index 0000000..6cccf55 --- /dev/null +++ b/js/components/RequireLogin.js @@ -0,0 +1,31 @@ +import React from 'react'; +import {connect} from 'react-redux'; +import Head from 'next/head'; +import {TurniereNavigation} from './Navigation'; +import {Login} from './Login'; +import {Footer} from './Footer'; + +class RequireLogin extends React.Component { + render() { + if (this.props.isSignedIn) { + return this.props.children; + } + const loginHint = this.props.loginMessage === undefined ? + 'Sie müssen angemeldet sein, um diesen Inhalt anzuzeigen!' : this.props.loginMessage; + + return (
+ + Anmeldung + + +
+ +
+
); + } +} + +export default connect(state => { + return {isSignedIn: state.userinfo.isSignedIn}; +})(RequireLogin); diff --git a/pages/create.js b/pages/create.js index 97a3755..1e0eb3d 100644 --- a/pages/create.js +++ b/pages/create.js @@ -4,49 +4,30 @@ import {notify} from 'react-notify-toast'; import {connect} from 'react-redux'; import posed from 'react-pose'; -import { - Button, Card, CardBody, Container, CustomInput, Form, FormGroup, Input, Label -} from 'reactstrap'; +import {Button, Card, CardBody, Container, CustomInput, Form, FormGroup, Input, Label} from 'reactstrap'; 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 EditableStringList from '../js/components/EditableStringList'; import {createTournament} from '../js/api'; import '../static/css/everypage.css'; +import RequireLogin from '../js/components/RequireLogin'; class CreatePage extends React.Component { render() { - const {isSignedIn} = this.props; - - return ( -